Bei der Kodierung von PHP Objekten nach JSON werden alle öffentlichen Eigenschaften dieses Objektes im JSON Objekt kodiert.
Das Dekodieren von JSON Objekten stellt eine leichte Schwierigkeit dar, allerdings entsprechen Javascript Objekte sehr einem assoziativen Array in PHP. Einige schlagen vor, dass ein Klassenbezeichner übergeben werden soll und eine Objektinstanz dieser Klasse erstellt und mit den Schlüssel/Wert Paaren des JSON Objektes bestückt werden soll; andere denken, dies könnte ein erhebliches Sicherheitsrisiko darstellen.
Standardmäßig wird Zend_Json
die JSON Objekte als assoziative Arrays
dekodieren. Wenn du allerdings wünscht, dass ein Objekt zurück gegeben wird, kannst du dies
angeben:
<?php // Dekodiere Objekte als Objekte $phpNative = Zend_Json::decode($encodedValue, Zend_Json::TYPE_OBJECT); ?>
Jedes dekodierte Objekte wird als StdClass
Objekt mit Eigenschaften
entsprechend der Schlüssel/Wert Paare der JSON Notation zuürckgegeben.
Die Empfehlung des Zend Framework ist, dass der einzelne Entwickler selber entscheiden
sollte, wie er JSON Objekte dekodiert. Wenn ein Objekt eines bestimmten Typs erstellt werden
soll, kann es im Code des Entwicklers erstellt werden und mit den dekodierten Werten unter
Verwendung von Zend_Json
bestückt werden.