Kiedy kodujemy obiekt PHP jako JSON, wszystkie publiczne właściwości tego obiektu zostaną zakodowane w obiekcie JSON.
Odkodowanie obiektów JSON sprawia już lekką trudność, ponieważ obiekty Javascript prawie dokładnie odpowiadają tablicom asocjacyjnym PHP. Jedni proponują aby przekazywać identyfikator klasy, a następnie tworzyć instancję obiektu tej klasy i wypełniać ją parami klucz/wartość obiektu JSON; inni ostrzegają, że mogłoby to być istotną luką w bezpieczeństwie.
Domyślnie Zend_Json
odkoduje obiekty JSON jako tablice
asocjacyjne. Jednak jeśli chcesz odebrać obiekt, możesz to określić
w ten sposób:
<?php // Odkoduj obiekty jako obiekty $phpNative = Zend_Json::decode($encodedValue, Zend_Json::TYPE_OBJECT); ?>
Wszystkie dekodowane obiekty są zwracane jako obiekty klasy
StdClass
z właściwościami odpowiadającymi parom
klucz/wartość z obiektu JSON.
Zalecane jest aby to programista decydował o tym w jaki sposób mają być
odkodowane obiekty JSON. Jeśli powinien być utworzony obiekt konkretnego
typu, może być on utworzony w kodzie aplikacji, a następnie wypełniony
wartościami odkodowanymi za pomocą Zend_Json
.