Le format JSON
JSON (JavaScript Object Notation) est un format créé pour faciliter l'échange de données entre différents systèmes. Bien que grandement inspiré de la notation objet de JavaScript le format JSON est indépendant de tout langage et peut être interpréter par la majorité des différents langage de programmation.
Structure de base
Les deux structures suivantes sont utilisées pour construire notre JSON :
L'objet
Une suite d'éléments clé/valeurs, sérarés par une virgule. L'objet sera entouré par des accolades.
Le tableau
Une suite d'éléments ordonnés, séparée par une virgule et entourée par des crochets [ ]
On peut mélanger les deux structures sans problème (un tableau d'objet, une valeur de l'objet est un tableau, etc.)
Il est aussi possible d'avoir un objet ou un tableau vide, qu'on notera respectivement { } et [ ].
Liste des valeurs possibles
- string : du texte entouré de guillemets "
- number : sans les guillemets, on peut utiliser les décimales avec le point et les exposants avec le caractère e.
- object : comme vu plus haut, liste de clé/valeur entourées par des accolades
- array : liste d'items entourés de crochet
- boolean : utilisez true ou false sans guillemets et en minuscule
- valeur nulle : null sans guillemets et en minuscule
Note sur les dates : Le format date n'étant pas pleinenement supporté, on devrait par précaution les stocker en texte.
Valider un texte au format JSON
JSONLint est un petit outils en ligne très pratique pour valider qu'un texte respecte le format JSON : www.jsonlint.com
Utilisation en JavaScript
JSON.stringify()
La méthode la plus simple pour envoyer des données au format JSON est de convertir un objet JavaScript avec la fonction JSON.stringify()
.
JSON.parse()
Les données qu'on reçoit au format JSON sont sous forme de texte. Pour les utiliser facilement en JavaScript on va les convertir en objet avec la fonction JSON.parse()
.
Sources
- Toutes les images proviennent du site www.json.org
- ECMA-404 The JSON Data Interchange Standard.
- www.json.org
- Standart de l'ECMA en version PDF