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éparés par une virgule. Ces élements sont insérés entre une paire d'accolades pour définir un objet.
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és/valeurs entre accolades
- array : liste d'items entre crochets
- boolean : utilisez true ou false sans guillemets et en minuscule
- valeur nulle : null sans guillemets et en minuscule

Note sur les dates : Il n'y a pas de format standard pour les dates dans JSON, il faut les stocker en texte. Par contre, la plupart des langages/librairies utilisant JSON vont utiliser le format ISO 8601 pour formatter une date sous form de chaine de caractères. C'est le cas de Javascript: JSON.stringify(new Date()) va générer la date pour l'instant présent sour forme de texte suivant ISO 8601.
Valider un texte au format JSON
JSONLint est un petit outil en ligne très pratique pour valider qu'un texte respecte le format JSON : www.jsonlint.com.
VSCode effectue une validation du JSON dans les fichiers avec l'extension .json.
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