14-01-2010, 01:15 PM
JSON signifie JavaScript Object Notation.
Le JSON est juste une façon de sérialiser un objet : l'écrire sous forme d'une chaîne de caractère. Il est pris en charge à partir du moment où le langage qui va manipuler cet objet JSON est capable d'en faire un objet à lui (par exemple, PHP est capable de transformer un objet JSON en objet PHP, comme le montrait mon exemple). En l'occurrence, la majorité des langages disposent de tels outils (la liste exhaustive est sur json.org).
Côté navigateur, le langage qu'on va utiliser est Javascript qui comprend cette notation JSON très bien puisqu'elle s'inspire justement de la façon de représenter un objet en Javascript. On peut donc simplement évaluer notre objet JSON (une chaîne de caractères, donc) comme du Javascript. Le soucis, c'est que ça présente des problèmes de sécurité. Pour pallier à ça, il existe des librairies, dont la référence : JSON2.
Ensuite, il y a — sur les navigateurs récents (IE8 inclus) — une prise en charge dite native d'un objet JSON. Cela signifie que le développeur n'a pas à utiliser eval pour rendre l'objet utilisable : c'est le navigateur qui se charge de ça.
Pour la petite histoire, l'API JSON inclue dans Javascript pour ce support natif est celle utilisée par Douglas Crockford dans sa librairie JSON2. En utilisant cette librairie, vous utiliserez de manière transparente le support JSON natif du navigateur, s'il est disponible. C'est sûr, rapide et fiable.
Sephi-Chan
Le JSON est juste une façon de sérialiser un objet : l'écrire sous forme d'une chaîne de caractère. Il est pris en charge à partir du moment où le langage qui va manipuler cet objet JSON est capable d'en faire un objet à lui (par exemple, PHP est capable de transformer un objet JSON en objet PHP, comme le montrait mon exemple). En l'occurrence, la majorité des langages disposent de tels outils (la liste exhaustive est sur json.org).
Côté navigateur, le langage qu'on va utiliser est Javascript qui comprend cette notation JSON très bien puisqu'elle s'inspire justement de la façon de représenter un objet en Javascript. On peut donc simplement évaluer notre objet JSON (une chaîne de caractères, donc) comme du Javascript. Le soucis, c'est que ça présente des problèmes de sécurité. Pour pallier à ça, il existe des librairies, dont la référence : JSON2.
Ensuite, il y a — sur les navigateurs récents (IE8 inclus) — une prise en charge dite native d'un objet JSON. Cela signifie que le développeur n'a pas à utiliser eval pour rendre l'objet utilisable : c'est le navigateur qui se charge de ça.
Pour la petite histoire, l'API JSON inclue dans Javascript pour ce support natif est celle utilisée par Douglas Crockford dans sa librairie JSON2. En utilisant cette librairie, vous utiliserez de manière transparente le support JSON natif du navigateur, s'il est disponible. C'est sûr, rapide et fiable.
Sephi-Chan