» 2- Mouais. Je vois juste que sur deux sources que tu donnes comme référence d’autorité, une ne parle pas ni de légereté ni de performance ni de souplesse mais juste de « plus utilisé » et l’autre je n’ai pas de lien. Les deux ont un contexte qui est très spécifique par rapport au site moyen (même gros). Autant pour les exemples.

« Toujours pas.Pour les vrais tests bien plus précis, factuels, tenant compte du fait qu’il existe différents parseurs (et ne faisant ni la promotion de JSON ni celle d’XML), c’est par ici : »

Oui, si tout est natif effectivement. Sauf que justement ça ne l’est pas toujours. Dans au moins 15% des cas (en étant conservatif) tu tombes sur du eval() ou une lib d’interprétation js, et là ce n’est pas du tout comparable avec plusieurs analyseurs en JVM. Je compare la réalité, pas la théorie si on était ailleurs que dans le web.

« codesperson.getElementsByTagName(« name »)->item(0)->innerText() »

Parce que ceux qui ont codé des libs js avec un analyseur syntaxique complet pour JSON n’auraient pas été capables de faire une sérialisation/désérialisation en 20 lignes à base de boucles et de getChildren pour ensuite hydrater des objets javascript ?

« Maintenant que j’ai répondu à ta question, je t’invite à répondre aux miennes (précédemment écrites) à savoir me citer un langage où JSON n’est pas utilisable (et où il faut réinventer la roue comme tu l’as dis)’

Dans la vie réelle ? Au moins 15% de implémentations javascript utilisées par exemple (sauf à utiliser eval() mais ça a d’autres conséquences). Environ 30% des installations PHP (5.1 et inférieur). Ruby il n’y a de json ni dans le core ni dans la lib standard, il faut aller chercher des libs tierces dans les gem, et les faire installer si elles ne le sont pas par défaut (cas vécu). Je ne te cite là que les trois langages que j’utilise régulièrement.

« et un moyen de pouvoir ajouter une propriété composée à ta liste de chaines de caractères sans devoir modifier ton code. »

Comme dit dans le billet, ça t’ouvre des portes et ça recule le problème. Tu finiras forcément par butter dessus au bout d’un moment si tu évolues trop. Au pire, ce que tu as fait en JSON reste possible à faire en XML. C’est juste que tant que tu n’arrives pas là, au moins tu as d’autres solutions qui ne demandent rien à modifier.

Mais j’ai l’impression qu’on tourne en rond donc je vais m’arrêter là. On rejoint le billet suivant puisque j’aurai probablement coupé à la hache tous les commentaires sauf celui de JSONP si je m’écoutais.