Comment ca marche ?

Des données JSON, c'est simplement du texte. C'est la syntaxe qui est intéressante. D'ailleurs, quand on lit les données, on a carrément l'impression que rien n'a été inventé. Ca semble même tellement évident comme syntaxe qu'on se demande pourquoi on l'a pas utilisé avant.

Comme format simple que j'ai pu utiliser, il y a par exemple le format INI qui permet d'avoir des catégories et des champs avec valeur.

La syntaxe

Sur la page json.org, il y a des graphiques qui montrent la syntaxe, je trouve ça très clair. Pour un objet :

{"champ1":5,"champ2":"toto","champ3":[1,2,3]}
 

Pour une liste :

["a","b","c","d"]
 

Bref, des choses qu'on a l'habitude de manipuler si on travaille déjà avec un langage ECMAScript.

Les outils

Toujours sur la page json.org, il y a des classes et fonctions pour manipuler les données JSON dans chaque langage, donc pour des données du langage en texte JSON et inversement. Bref, c'est de la sérialisation JSON. On peut s'amuser à créer des objets en PHP, les convertir au format JSON pour les importer dans Flash par exemple.

Les limites

Je n'ai pas vu de gestion de référence. Alors j'ai simplement testé ca en Actionscript :

var o:Object = new Object();
o.truc = "coucou";
o.prout = o;
var s:String = JSON.stringify(o);

Ca me fait une boucle infinie avec le script récupéré sur json.org. Donc il a dû essayer de parser prout sans reconnaître qu'il est déjà dessus.

Conclusion

La page officielle est courte et simple. On comprend tout de suite de quoi il s'agit.

Il ne faut cependant pas choisir systématiquement ce format, ca dépend ce qu'on en fait. Dans le billet précédent, on a vu un format en texte, plutot complexe mais qui permet de faire des arbres comme ca :

Exemple RDF

Donc choisissez bien votre format de données, même si on est plus à l'aise avec certains, ce n'est pas forcément adapté.