Créé par Douglas Crockford en 2002, JavaScript Object Notation (JSON) est un format de fichier open-standard dérivé du JavaScript qui permet de stocker des données de manière organisée, c’est-à-dire d’apporter des informations structurées, comme le langage XML.
Ce format est flexible. Il peut être généré et lu par la plupart des langages de programmation. C’est pour cette raison qu’il est aujourd’hui très apprécié par les développeurs pour stocker, organiser, lire et partager des données. Beaucoup l’utilisent à la place du langage XML (Extensible Markup Language). Aujourd’hui, la plupart des API (RESTful) reposent sur ce format.
De nombreuses librairies sont à disposition des développeurs et permettent de générer du JSON quelque soit le langage. Elles permettent de transformer des objets en json (sérialiser) et inversement, transformer du json en objets (désérialiser).
Quels sont les inconvénients ?
Le format JSON présente un important point faible. Il ne représente que quelques types généraux. Cela signifie que toutes les données ne sont pas typées et extensibles, ce qui affaiblit la sécurité et la fiabilité du langage.
Par exemple, le seul type de nombre compatible est le format IEEE-754, et il n’existe pas non plus de type de date, ce qui contraint les développeurs à utiliser des chaînes de caractères.
Quels sont les avantages ?
Le plus gros avantage du JavaScript Object Notation est qu’il est simple à mettre en place par un développeur, tout en étant complet.
Et s’il est simple à mettre en oeuvre, c’est également parce qu’il est facilement lisible, que ce soit par un humain ou par une machine. Il est facile d’apprendre le JSON, et de le comprendre, grâce à la réduction de sa syntaxe.
En bref, le format JSON :
- est facilement lisible de par sa syntaxe,
- est facilement compréhensible par tous (humain et machine),
- permet de stocker différents types de données,
- ne dépend d’aucun autre langage.