Convert multi array into json Multi Array

0

In a print_r, I'm printing the array ( object ) $ all ', and I'm getting the following multidimensional array :

Array
(
    [0] => Produtos Object
        (
            [idProduto:Produtos:private] => 1
            [tipo:Produtos:private] => mp
            [modelo:Produtos:private] => F540 2 BAN.PNEU. 100 X 60
            [bandejas:Produtos:private] => 2
            [peso:Produtos:private] => 0
            [prensagem:Produtos:private] => 0
            [precoUnitario:Produtos:private] => 6500
            [comprimento:Produtos:private] => 100
            [largura:Produtos:private] => 60
            [cabo:Produtos:private] => 0
            [ligacao:Produtos:private] => n
            [potencia:Produtos:private] => 0
            [consumo:Produtos:private] => 0
            [corrente:Produtos:private] => 0
            [disjuntor:Produtos:private] => 0
            [descricao:Produtos:private] => 
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. 
            [estoque:Produtos:private] => 7
            [freteGratis:Produtos:private] => s
            [bloqueado:Produtos:private] => n
        )

    [1] => Produtos Object
        (
            [idProduto:Produtos:private] => 2
            [tipo:Produtos:private] => mp
            [modelo:Produtos:private] => F540 2 BAN.PNEU.80X100 A VISTA BOLETO PAGSEGURO
            [bandejas:Produtos:private] => 2
            [peso:Produtos:private] => 190
            [prensagem:Produtos:private] => 300
            [precoUnitario:Produtos:private] => 7500
            [comprimento:Produtos:private] => 70
            [largura:Produtos:private] => 100
            [cabo:Produtos:private] => 6
            [ligacao:Produtos:private] => b
            [potencia:Produtos:private] => 7500
            [consumo:Produtos:private] => 3
            [corrente:Produtos:private] => 35
            [disjuntor:Produtos:private] => 40
            [descricao:Produtos:private] => 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




            [estoque:Produtos:private] => 8
            [freteGratis:Produtos:private] => n
            [bloqueado:Produtos:private] => n
        )

It is obvious that this array is much more extensive. However, 2 results are enough for me to take my question.

I need to do

echo json_encode($todos, JSON_FORCE_OBJECT);

In the hope of converting the result to JSON But I'm getting:

{"0":{},"1":{},"2":{},"3":{},"4":{},"5":{},"6":{},"7":{},"8":{},"9":{},"10":{},"11":{},"12":{},"13":{},"14":{},"15":{},"16":{},"17":{},"18":{},"19":{},"20":{},"21":{},"22":{},"23":{},"24":{},"25":{},"26":{},"27":{},"28":{},"29":{},"30":{},"31":{},"32":{},"33":{},"34":{},"35":{},"36":{},"37":{},"38":{},"39":{},"40":{},"41":{},"42":{},"43":{},"44":{},"45":{},"46":{},"47":{},"48":{},"49":{},"50":{},"51":{},"52":{},"53":{},"54":{},"55":{},"56":{},"57":{},"58":{},"59":{},"60":{},"61":{},"62":{},"63":{},"64":{},"65":{},"66":{},"67":{},"68":{},"69":{},"70":{},"71":{},"72":{},"73":{},"74":{},"75":{},"76":{},"77":{},"78":{},"79":{},"80":{},"81":{},"82":{},"83":{},"84":{},"85":{},"86":{},"87":{},"88":{},"89":{},"90":{},"91":{},"92":{},"93":{}}

As a result of jSon .

It seems like% internal% are not being populated in the conversion.

Where am I going wrong?

    
asked by anonymous 29.11.2018 / 15:28

1 answer

0

Your problem occurs because the attributes are private and json_encode is unable to extract the values.

I see some solutions:

 json_encode(serialize(get_object_vars($x)));

 json_encode((array) $x);

You could add a function in your object that returns the data:

public function toArray() { return (array) $this; }
//chamando assim:
json_encode($obj->toArray())
    
29.11.2018 / 15:59