JSON vs XML
Du coup, à certains endroits, j'ai remplacé ça par du XML. C'est assez pratique au cours du développement car si les structures de données évoluent (essentiellement par l'ajout de nouveaux champs, ou le déplacement/réorganisation de la structure), les méthodes pour parser le XML changent très peu (voire pas du tout si on n'a fait qu'ajouter un champs), donc c'est super pratique et évolutif. Sauf que le XML, c'est un poil lourd (à lire et à écrire), avec plein de petits cas foireux et tout.
C'est là qu'intervient JSON : une syntaxe un peu façon XML, mais prévue pour du Javascript à la base, et qui est un peu plus simple tout en offrant (globalement) les mêmes possibilités. Ce n'est pas révolutionnaire en terme de possibilités, mais le fichier final est généralement plus petits, et le parseur est moins complexe, donc pour les besoins de petits développement rapides ça m'a l'air plus adapté.
Petit comparatif rapide entre XML et JSON (je repompe celui de Wikipedia parce qu'il est simple et illustratif ^^)
Syntaxe JSON
{
"firstName": "John",
"lastName": "Smith",
"age": 25,
"address": {
"streetAddress": "21 2nd Street",
"city": "New York",
"state": "NY",
"postalCode": "10021"
},
"phoneNumber": [
{
"type": "home",
"number": "212 555-1234"
},
{
"type": "fax",
"number": "646 555-4567"
}
]
}
Syntaxe XML
<xml>
<Object>
<Property><Key>firstName</Key> <String>John</String></Property>
<Property><Key>lastName</Key> <String>Smith</String></Property>
<Property><Key>age</Key> <Number>25</Number></Property>
<Property><Key>address</Key>
<Object>
<Property><Key>streetAddress</Key> <String>21 2nd Street</String></Property>
<Property><Key>city</Key> <String>New York</String></Property>
<Property><Key>state</Key> <String>NY</String></Property>
<Property><Key>postalCode</Key> <String>10021</String></Property>
</Object>
</Property>
<Property><Key>phoneNumber</Key>
<Array>
<Object>
<Property><Key>type</Key> <String>home</String></Property>
<Property><Key>number</Key> <String>212 555-1234</String></Property>
</Object>
<Object>
<Property><Key>type</Key> <String>fax</String></Property>
<Property><Key>number</Key> <String>646 555-4567</String></Property>
</Object>
</Array>
</Property>
</Object>
</xml>
Bon, c'est un exemple un peu extrême, et en vrai on peut faire mieux pour la syntaxe XML en utilisant judicieusement les attributs. Mais ça illustre le fait que la syntaxe JSON est tout de même plus lisible et épurée, essentiellement grâce à la suppression des balises fermantes. On distingue une particularité de JSON que je trouve pas mal : on a à la fois '{' et '[', qui ont des significations différentes :- { pour les objets- [ pour les listes/arrays/tableaux (c'est pareil)
Il faut tout de même relativiser un peu car la sytaxe XML de l'exemple est particulièrement verbeuse, et qu'en utilisant des attributs on peut obtenir une version XML aussi courte que la version JSON... Mais ce qui m'intéresse dans ce format est plutôt la simplicité pour le parser, donc je vais probablement migrer quelques petits trucs dessus très prochainement.
Source : Wikipedia
Aucun trackbacks pour l'instant