Quando codificamos objetos PHP como JSON, todas as propriedades públicas desse objeto estarão codificadas em um objeto JSON.
Descodificar objetos JSON traz uma ligeria dificuldade, entretanto, desde que os objetos do Javascript correspondam o mais próximo de uma matriz associativa do PHP. Alguns sugerem que um identificador da classe deve ser passado, e um exemplo do objeto dessa classe deve ser criado e populado com os pares chave/valor do objeto JSON; outros pensam que isto poderia gerar um risco substancial da segurança.
Por padrão, Zend_Json
irá descodificar objetos JSON como
matriz associativas. Entretanto, se você deseja que o retorne um objeto,
você pode especificar isto:
<?php // Descodifique objetos como objetos $phpNative = Zend_Json::decode($encodedValue, Zend_Json::TYPE_OBJECT); ?>
Todos os objetos descodificados assim são retornados como objetos de
StdClass
com as propriedades que correspondem aos pares
chave/valor na notação de JSON.
A recomendação do Zend Framework é que o desenvolvedor deve decidir-se
como descodificar objetos JSON. Se um objeto de um tipo especificado
for criado, pode ser criado no código do desenvolvedor e ser populado com
os valores descodificados usando Zend_Json
.