0
Through a print_r, I am printing the array (object)
$all`, and am getting the following array multidimensional:
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 ask my question.
I need to do
echo json_encode($todos, JSON_FORCE_OBJECT);
Hoping to convert the result into 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 that the arrays
internal are not being populated in conversion.
Where am I going wrong?
Your problem is that the attributes of your objects are private. You can leave publics (not recommend) or create a function within each one that returns the data and call it.
– edson alves
Try adding this function to your class
public function jsonSerialize()
 {
 return get_object_vars($this);
 }
, I think it might work. https://stackoverflow.com/questions/6613792/how-do-i-json-encode-private-properties-in-php– edson alves
but even if they are private, what comes to json_encode is the return of a method, not a direct access to class attributes.
– Carlos Rocha
gives null as answer; I am doing so: echo json_encode(get_object_vars($all));
– Carlos Rocha
I believe that the function should be within the class itself, maybe from the outside I can’t. I made a gambit here:
public function toArray()
 {
 return (array) $this;
 }
that way you can call itjson_encode($obj->toArray())
– edson alves
so it worked: echo json_encode(serialize($all));. But there’s a text field that has html in it. As in one of them there is a link, the rest below is all as link. How to resolve?
– Carlos Rocha
I think it’s just visual. If you want to see the result as it comes from php without rendering html just put your result between
<pre>
– edson alves
Let’s go continue this discussion in chat.
– edson alves