
Qu’est-ce que JSON ? Est-il meilleur que XML ?
Dernière mise à jour le
Selon Douglas Crockford, l’un des développeurs de JSON, « JSON (JavaScript Object Notation) est un format léger d’échange de données. Il est facile à lire et à écrire pour les humains. Il est facile à analyser et à générer pour les machines. »
Même si JSON est issu de JavaScript, il est pris en charge nativement (ou via des bibliothèques) par les principaux langages de programmation. JSON est devenu très populaire sur le Web. Aujourd’hui, presque tous les services web publics et certains services web privés l’utilisent. Il sert le plus souvent à échanger des informations entre les serveurs web et les clients. Grâce à sa popularité, de nombreuses bases de données, dont MySQL, PostgreSQL, MongoDB et Neo4j, prennent en charge JSON.
Voyons maintenant la structure de JSON, les raisons de l’utiliser, ses avantages par rapport à XML, ses inconvénients et les situations dans lesquelles l’utiliser.
Structure d’un fichier JSON
Sans entrer dans le jargon technique, les données JSON sont stockées dans des fichiers texte brut organisés en paires clé-valeur, faciles à ouvrir et à examiner, ce qui permet de garder le code lisible par les humains. Cela rend JSON interopérable, car n’importe quel langage peut traiter et lire du texte brut. Comme il repose sur du texte, il est plus léger, ce qui facilite et accélère l’envoi de données sur le Web. JSON est un choix idéal pour les services web qui affichent et envoient beaucoup de données.
La principale alternative à JSON est XML, qui utilise une structure de balises le rendant un peu plus complexe. Il sert principalement à échanger des données, car chaque langage de programmation dispose d’un analyseur XML. De nombreux schémas permettent de valider XML, ce qui le rend idéal pour le commerce électronique, par exemple les boutiques en ligne, les services bancaires, l’intégration de systèmes industriels, etc.
Il est toutefois important de noter que XML n’est pas un langage de programmation, mais un langage de balisage : les données sont donc stockées dans des structures arborescentes. Cela entraîne des volumes de données plus importants et une transmission plus lente.
Si vous voulez convertir du XML en objet JavaScript, vous devrez travailler sur des centaines de lignes de code, sans oublier la personnalisation. En revanche, une seule ligne de code suffit pour convertir du JSON en objet JavaScript.
La bonne nouvelle, c’est que vous pouvez facilement convertir XML en JSON avec Filestar et vous simplifier le travail. Vous pouvez aussi convertir JSON en XML tout aussi facilement.

Pourquoi utiliser JSON
· Le moteur JavaScript accélère l’analyse de JSON et, grâce à sa petite taille, le transfert des données est lui aussi plus rapide.
· JSON ne contient pas de balises de données redondantes ou vides, ce qui le rend simple, facile à lire et compact. Il prend toutefois en charge les tableaux, les booléens, les nombres, null, les chaînes de caractères et les objets primitifs.
· JSON prend en charge les encodages ASCII et UTF.
· JSON offre une analyse plus sûre dans tous les cas, sauf avec JSONP, tandis que XML est vulnérable aux attaques.
· Associer JSON et AJAX permet de traiter les données à très grande vitesse.
Limites de JSON
Si JSON offre une grande souplesse pour les données et fonctionne avec de nombreux langages de programmation, certains de ses inconvénients ne doivent pas être négligés.
1. Il ne possède pas de schéma, ce qui est à la fois un avantage et un inconvénient. D’un côté, vous êtes libre de représenter les données sous la forme de votre choix. De l’autre, il est très facile de créer accidentellement des données mal structurées.
2. Un seul type de données numériques est autorisé : le format IEEE-754 à double précision. Cela fait beaucoup de jargon technique, mais, en termes simples, vous ne pouvez pas utiliser les différents types de nombres plus spécifiques proposés par de nombreux langages de programmation.
3. Vous ne pouvez pas non plus ajouter de commentaires aux champs qui nécessitent une documentation complémentaire, ce qui peut entraîner des malentendus.
4. Certes, JSON est moins verbeux que XML, mais pour des volumes de données très importants ou des besoins particuliers d’échange de données, il vaut mieux utiliser un format plus efficace.
À privilégier :
Lorsque vous écrivez un programme qui communique avec une application mobile ou un navigateur, utilisez JSON. XML serait un choix dépassé : il est peu adapté au développement front-end et aux fonctionnalités mobiles que vous souhaitez exploiter.
Pour une communication entre serveurs, JSON peut être utile, mais un framework de sérialisation comme Apache Thrift ou Avro fonctionne mieux.
Bien qu’il soit pris en charge par toutes les bases de données, la règle générale pour les bases de données relationnelles est de l’éviter si possible. En effet, les bases de données relationnelles utilisent des données structurées : vous risquez donc de rencontrer des problèmes de performances lors de requêtes portant sur le contenu d’objets JSON.
En résumé
En bref, c’est le format de référence pour transmettre des données entre les navigateurs, les serveurs web et les applications mobiles. Grâce à sa souplesse et à sa simplicité, il est facile à lire, à comprendre et à manipuler. Avec JSON, vous n’avez pas à vous inquiéter de la validation et de la sémantique.
