Au début des années 2000, les applications web devaient déplacer des données structurées entre serveurs et navigateurs. XML avait de l'élan mais était verbeux et nécessitait des analyseurs et des schémas ; le manipuler en JavaScript était pénible, alors que c'est précisément là que les données devaient aboutir.
Douglas Crockford a spécifié JSON comme un format léger bâti sur les deux structures universelles, les objets nom/valeur et les listes ordonnées, et l'a délibérément fondé sur un sous-ensemble de la norme du langage de programmation JavaScript (ECMA-262, 3e édition). Un navigateur pouvait donc l'analyser nativement, et la spécification json.org a été publiée ouvertement pour que quiconque puisse l'implémenter.
JSON s'est d'abord répandu parmi les concepteurs d'API web, puis partout. En 2017, l'IETF a publié la RFC 8259, The JavaScript Object Notation (JSON) Data Interchange Format, qui le décrit comme dérivé de la norme du langage de programmation ECMAScript, et il est devenu le format d'échange de données par défaut des services web.
Être un sous-ensemble du langage qui vous lira
La syntaxe JavaScript native signifiait que le client le plus important l'analysait sans aucune machinerie supplémentaire.
Les deux structures de données correspondent directement aux objets et tableaux de tous les langages grand public.
Une spécification ouverte et simple a supprimé les barrières de licence et d'apprentissage.
Le format gagnant réduit le coût de la toute première intégration : en s'alignant sur la syntaxe native du consommateur dominant, JSON a rendu gratuit la première analyse côté navigateur, et chaque portage ultérieur a suivi.
Suites
La RFC 8259 a formalisé JSON comme norme IETF en 2017, et pratiquement tous les langages de programmation fournissent un analyseur. Il est devenu la charge utile par défaut des API web et le modèle d'une génération de bases de documents NoSQL, tandis que XML s'est replié sur des niches centrées sur les documents.
VÉRIFIEZ LES SOURCES
Les sources
- RFC 8259: The JavaScript Object Notation (JSON) Data Interchange Format IETF · datatracker.ietf.org
- Introducing JSON (json.org) JSON.org · json.org