| 1234567891011121314151617181920212223242526272829 |
- <!-- EN-Revision: 12759 -->
- <sect1 id="zend.json.objects">
- <title>Objets JSON</title>
- <para>Lorsque vous encodez des objets PHP en tant que JSON, toutes les propriétés publiques de cet objet sont
- encodées dans un objet JSON.</para>
- <para>JSON ne vous permet pas de référencer des objets, donc le soin devra être pris pour ne pas coder des objets
- avec des références récursives. Si vous avez des problèmes de récursivité, <classname>Zend_Json::encode()</classname> et
- <classname>Zend_Json_Encoder::encode()</classname> autorisent un deuxième paramètre facultatif afin de vérifier la récursivité
- ; si un objet est sérialisé deux fois, une exception sera levée.</para>
- <para>Bien que les objets Javascript correspondent de très près aux tableau associatifs de PHP, décoder des objets
- JSON pose une légère difficulté. Certains suggèrent qu'un identifiant de classe soit passé, et qu'une instance de
- cette classe soit créée et définie avec les paires clé/valeur des objets JSON ; d'autres pensent que cela pourrait
- poser un risque de sécurité potentiel.</para>
- <para>Par défaut, <classname>Zend_Json</classname> décodera des objets JSON comme en tableaux associatifs. Cependant, si vous
- désirez avoir un objet en retour, vous pouvez le spécifier : <programlisting role="php"><![CDATA[
- // Décode des objets JSON en tant qu'objets PHP
- $phpNatif = Zend_Json::decode($valeurEncodee, Zend_Json::TYPE_OBJECT);
- ]]></programlisting> Tous les objets sont ainsi
- décodés et retournés comme des objets de type <code>StdClass</code>, avec leurs propriétés correspondantes aux
- paires clé/valeur de la notation JSON.</para>
- <para>La recommandation de Zend Framework est que le développeur doit décider comment décoder les objets JSON. Si un
- objet d'un type spécifié doit être créé, il peut être créé dans le code du développeur et définit avec les valeurs
- décodées en utilisant <classname>Zend_Json</classname>.</para>
- </sect1>
|