JSON Error with Alphabetic Index

Asked

Viewed 34 times

0

I have 2 Arrays:

Array
(
    [0] => Array
        (
            [0] => Amit
            [1] => [email protected]
        )

    [1] => Array
        (
            [0] => Rahul
            [1] => [email protected]
        )

)

and

Array
(
    [0] => Array
        (
            [ProdutosidProduto] => 1
            [Produtostipo] => mp
            [Produtosmodelo] => F540 2 BAN.PNEU. 100 X 60
            [Produtosbandejas] => 2
            [Produtospeso] => 0
            [Produtosprensagem] => 0
            [ProdutosprecoUnitario] => 6500
            [Produtoscomprimento] => 100
            [Produtoslargura] => 60
            [Produtoscabo] => 0
            [Produtosligacao] => n
            [Produtospotencia] => 0
            [Produtosconsumo] => 0
            [Produtoscorrente] => 0
            [Produtosdisjuntor] => 0
            [Produtosdescricao] => 
Valor promocional limitado frete grátis ,para SP ,RJ ,MG ,ES. Os demais será cobrado apenas de SP para sua cidade ,valor de 500,00 ,a ser pago na entrega .

MAQUINA TOTALMENTE INDUSTRIAL E 100% NACIONAL .PRODUÇÃO DE ATÉ MIL PÇS POR DIA EM HORÁRIO NORMAL DE TRABALHO ,SISTEMA DIGITAL AUTOMATIZADO DE ÚLTIMA GERAÇÃO , SISTEMA PNEUMÁTICO COMPACTO E UNIFORME RECEBENDO A MESMA PRESSÃO EM TODA ÁREA DE ESTAMPAGEM, EVITANDO ASSIM OS SOMBREAMENTOS E EFEITOS FANTASMA NA ESTAMPA , SISTEMA DE RESISTÊNCIA DE ALTA QUALIDADE A MELHOR DO MERCADO AÇO INOX 304 , DANDO UMA VIDA ÚTIL MUITO SUPERIOR AS DEMAIS DO MERCADO , E FÁCIL TROCAS DAS RESISTÊNCIAS NÃO SENDO NECESSÁRIO TÉCNICO NO LOCAL , COM APENAS 4 PARAFUSOS O CLIENTE MESMO FAZ A TROCA, AS DEMAIS A RESISTÊNCIA É FUNDIDA NA CHAPA DE ALUMÍNIO SENDO IMPOSSÍVEL A TROCA APENAS DAS RESISTÊNCIAS , TEMOS TODAS AS PÇS DA PRENSA EM VALORES BEM ACESSÍVEIS. 
            [Produtosestoque] => 7
            [ProdutosfreteGratis] => s
            [Produtosbloqueado] => n
        )

    [1] => Array
        (
            [ProdutosidProduto] => 2
            [Produtostipo] => mp
            [Produtosmodelo] => F540 2 BAN.PNEU.80X100 A VISTA BOLETO PAGSEGURO
            [Produtosbandejas] => 2
            [Produtospeso] => 190
            [Produtosprensagem] => 300
            [ProdutosprecoUnitario] => 7500
            [Produtoscomprimento] => 70
            [Produtoslargura] => 100
            [Produtoscabo] => 6
            [Produtosligacao] => b
            [Produtospotencia] => 7500
            [Produtosconsumo] => 3
            [Produtoscorrente] => 35
            [Produtosdisjuntor] => 40
            [Produtosdescricao] => MAQUINA TOTALMENTE INDUSTRIAL E 100% NACIONAL .PRODUÇÃO DE ATÉ MIL PÇS POR DIA EM HORÁRIO NORMAL DE TRABALHO ,SISTEMA DIGITAL AUTOMATIZADO DE ÚLTIMA GERAÇÃO , SISTEMA PNEUMÁTICO COMPACTO E UNIFORME RECEBENDO A MESMA PRESSÃO EM TODA ÁREA DE ESTAMPAGEM, EVITANDO ASSIM OS SOMBREAMENTOS E EFEITOS FANTASMA NA ESTAMPA , SISTEMA DE RESISTÊNCIA DE ALTA QUALIDADE A MELHOR DO MERCADO AÇO INOX 304 , DANDO UMA VIDA ÚTIL MUITO SUPERIOR AS DEMAIS DO MERCADO , E FÁCIL TROCAS DAS RESISTÊNCIAS NÃO SENDO NECESSÁRIO TÉCNICO NO LOCAL , COM APENAS 4 PARAFUSOS O CLIENTE MESMO FAZ A TROCA, AS DEMAIS A RESISTÊNCIA É FUNDIDA NA CHAPA DE ALUMÍNIO SENDO IMPOSSÍVEL A TROCA APENAS DAS RESISTÊNCIAS , TEMOS TODAS AS PÇS DA PRENSA EM VALORES BEM ACESSÍVEIS. 
www.topuhrens.de


            [Produtosestoque] => 8
            [ProdutosfreteGratis] => n
            [Produtosbloqueado] => n
        )

    [2] => Array
        (
            [ProdutosidProduto] => 3
            [Produtostipo] => mp
            [Produtosmodelo] => (PROMOÇÃO )2 BAN.PNEU.80X100, VALOR PROMOCIONAL .
            [Produtosbandejas] => 2
            [Produtospeso] => 200
            [Produtosprensagem] => 300
            [ProdutosprecoUnitario] => 8990
            [Produtoscomprimento] => 80
            [Produtoslargura] => 100
            [Produtoscabo] => 6
            [Produtosligacao] => b
            [Produtospotencia] => 7500
            [Produtosconsumo] => 3
            [Produtoscorrente] => 35
            [Produtosdisjuntor] => 40
            [Produtosdescricao] => MAQUINA TOTALMENTE INDUSTRIAL E 100% NACIONAL .PRODUÇÃO DE ATÉ MIL PÇS POR DIA EM HORÁRIO NORMAL DE TRABALHO ,SISTEMA DIGITAL AUTOMATIZADO DE ÚLTIMA GERAÇÃO , SISTEMA PNEUMÁTICO COMPACTO E UNIFORME RECEBENDO A MESMA PRESSÃO EM TODA ÁREA DE ESTAMPAGEM, EVITANDO ASSIM OS SOMBREAMENTOS E EFEITOS FANTASMA NA ESTAMPA , SISTEMA DE RESISTÊNCIA DE ALTA QUALIDADE replica watches for sale A MELHOR DO MERCADO AÇO INOX 304 , DANDO UMA VIDA ÚTIL MUITO SUPERIOR AS DEMAIS DO MERCADO , E FÁCIL TROCAS DAS RESISTÊNCIAS NÃO SENDO NECESSÁRIO TÉCNICO NO LOCAL , COM APENAS 4 PARAFUSOS O CLIENTE MESMO FAZ A TROCA, AS DEMAIS A RESISTÊNCIA É FUNDIDA NA CHAPA DE ALUMÍNIO SENDO IMPOSSÍVEL A TROCA APENAS DAS RESISTÊNCIAS , TEMOS TODAS AS PÇS DA PRENSA EM VALORES BEM ACESSÍVEIS. 

CONSUMO : 3 KW/H 

            [Produtosestoque] => 97
            [ProdutosfreteGratis] => n
            [Produtosbloqueado] => n
        )

I wish to turn them into JSON however respecting their indexes.

With the first Array done:

var arr = <?php echo json_encode($myArr); ?>;

with the second made:

var res = <?php echo json_encode($produtos); ?>;

Well, when I went to check out the JSON that came out, I checked that 

To the first Array we have to:

document.write(arr[1][0]) => imprimiu Rahul;

To the second Array, we have to:

document.write(res[0]["ProdutosidProduto"]) => Imprimiu undefined;

But when I did:

document.write(res) => imprimiu [object Object],[object Object]

What am I doing wrong?

If the Arrays are almost identical, where is the error?

It will be fact that one has indexes as words and another numerical indexes?

1 answer

0

Good afternoon!

Testing here, it worked out as follows:

    <?php
$arr2=array(
    0=>"aa"
);
$arr1=Array
(
    0 => Array
        (
            'ProdutosidProduto' => 1,
            'Produtostipo' => 3,
            'Produtosmodelo' => 'F540 2 BAN.PNEU. 100 X 60',
            'Produtosbandejas' => 2,
            'Produtospeso' => 0,
            'Produtosprensagem' => 0,
            'ProdutosprecoUnitario' => 6500,
            'Produtoscomprimento' => 100,
            'Produtoslargura' => 60,
            'Produtoscabo' => 0,
            'Produtosligacao' => 'n',
            'Produtospotencia' => 0,
            'Produtosconsumo' => 0,
            'Produtoscorrente' => 0,
            'Produtosdisjuntor' => 0,
            'Produtosdescricao' => 'Valor promocional limitado frete grátis ,para SP ,RJ ,MG ,ES. Os demais será cobrado apenas de SP para sua cidade ,valor de 500,00 ,a ser pago na entrega .

MAQUINA TOTALMENTE INDUSTRIAL E 100% NACIONAL .PRODUÇÃO DE ATÉ MIL PÇS POR DIA EM HORÁRIO NORMAL DE TRABALHO ,SISTEMA DIGITAL AUTOMATIZADO DE ÚLTIMA GERAÇÃO , SISTEMA PNEUMÁTICO COMPACTO E UNIFORME RECEBENDO A MESMA PRESSÃO EM TODA ÁREA DE ESTAMPAGEM, EVITANDO ASSIM OS SOMBREAMENTOS E EFEITOS FANTASMA NA ESTAMPA , SISTEMA DE RESISTÊNCIA DE ALTA QUALIDADE A MELHOR DO MERCADO AÇO INOX 304 , DANDO UMA VIDA ÚTIL MUITO SUPERIOR AS DEMAIS DO MERCADO , E FÁCIL TROCAS DAS RESISTÊNCIAS NÃO SENDO NECESSÁRIO TÉCNICO NO LOCAL , COM APENAS 4 PARAFUSOS O CLIENTE MESMO FAZ A TROCA, AS DEMAIS A RESISTÊNCIA É FUNDIDA NA CHAPA DE ALUMÍNIO SENDO IMPOSSÍVEL A TROCA APENAS DAS RESISTÊNCIAS , TEMOS TODAS AS PÇS DA PRENSA EM VALORES BEM ACESSÍVEIS. ',
            'Produtosestoque' => 7,
            'ProdutosfreteGratis' => 's',
            'Produtosbloqueado' => 'n'
        ),

        1 => Array
        (
            'ProdutosidProduto' => 1,
            'Produtostipo' => 3,
            'Produtosmodelo' => 'F540 2 BAN.PNEU. 100 X 60',
            'Produtosbandejas' => 2,
            'Produtospeso' => 0,
            'Produtosprensagem' => 0,
            'ProdutosprecoUnitario' => 6500,
            'Produtoscomprimento' => 100,
            'Produtoslargura' => 60,
            'Produtoscabo' => 0,
            'Produtosligacao' => 'n',
            'Produtospotencia' => 0,
            'Produtosconsumo' => 0,
            'Produtoscorrente' => 0,
            'Produtosdisjuntor' => 0,
            'Produtosdescricao' => 'Valor promocional limitado frete grátis ,para SP ,RJ ,MG ,ES. Os demais será cobrado apenas de SP para sua cidade ,valor de 500,00 ,a ser pago na entrega .

MAQUINA TOTALMENTE INDUSTRIAL E 100% NACIONAL .PRODUÇÃO DE ATÉ MIL PÇS POR DIA EM HORÁRIO NORMAL DE TRABALHO ,SISTEMA DIGITAL AUTOMATIZADO DE ÚLTIMA GERAÇÃO , SISTEMA PNEUMÁTICO COMPACTO E UNIFORME RECEBENDO A MESMA PRESSÃO EM TODA ÁREA DE ESTAMPAGEM, EVITANDO ASSIM OS SOMBREAMENTOS E EFEITOS FANTASMA NA ESTAMPA , SISTEMA DE RESISTÊNCIA DE ALTA QUALIDADE A MELHOR DO MERCADO AÇO INOX 304 , DANDO UMA VIDA ÚTIL MUITO SUPERIOR AS DEMAIS DO MERCADO , E FÁCIL TROCAS DAS RESISTÊNCIAS NÃO SENDO NECESSÁRIO TÉCNICO NO LOCAL , COM APENAS 4 PARAFUSOS O CLIENTE MESMO FAZ A TROCA, AS DEMAIS A RESISTÊNCIA É FUNDIDA NA CHAPA DE ALUMÍNIO SENDO IMPOSSÍVEL A TROCA APENAS DAS RESISTÊNCIAS , TEMOS TODAS AS PÇS DA PRENSA EM VALORES BEM ACESSÍVEIS. ',
            'Produtosestoque' => 7,
            'ProdutosfreteGratis' => 's',
            'Produtosbloqueado' => 'n'
        ));

        $json = json_encode($arr1);
?>

<script>
var json=<?php echo $json; ?>;
document.write(json[0]['ProdutosidProduto']);
</script>

If the problem persists, I suggest you debug with a var_dump before sending the json to the destination, see if the key structure remains integrated

  • I’m doing the following: I’m getting a return of an SQL Query. With this Query, I mount an Array of objects (yes, all of the same type). After that, I am generating in a foreach a new array with each object converted into Array (array) $all. This is the array that is in the question. Now I need to turn him into a Json

  • It is, realize that yours is 'Productosidproduct' and mine is [Productosidproduct]. Yours comes in quotes '' and mine in brackets []. and I’m not sure how to treat it

  • Yes, in fact I noticed that the structures of the arrays are different, in your case, how was it built?

  • is just a return of a common public method that delivers an SQL Query in MYSQL with mysql_fetch_row(). mysqli: $records->fetch_row(). Then I took this return and gave him a PRINT_R() ! That’s all

Browser other questions tagged

You are not signed in. Login or sign up in order to post.