Tout ce qui est sur cette page tient intentionnellement sur un écran : la syntaxe de JSON est suffisamment petite pour qu’une référence complète n’ait pas besoin d’être longue. Lisez ici, ou téléchargez la même référence en image pour la garder hors ligne ou l’imprimer.

1. Structure
JSON s’écrit sous forme de paires clés-valeurs à l’intérieur d’un objet ({ }) ou d’une
liste ordonnée à l’intérieur d’un tableau ([ ]). Les clés sont toujours des chaînes de caractères. Les valeurs peuvent
être une chaîne, un nombre, un booléen, null, un tableau ou un autre objet, imbriquées
autant de niveaux que les données le nécessitent.
{
"name": "Ada",
"age": 36,
"active": true,
"skills": ["json", "css"],
"address": { "city": "London" },
"nickname": null
}
2. Règles de syntaxe
- Les clés et les valeurs de type chaîne utilisent des guillemets doubles. Les guillemets simples ne sont pas du JSON valide.
- Deux points séparent chaque clé de sa valeur.
- Une virgule sépare les paires et les éléments du tableau, sans virgule après le dernier.
- Les tableaux sont des listes ordonnées, valeurs séparées par des virgules.
- Pas de commentaires. Le JSON standard n’a pas de syntaxe de commentaires, ni
//ni#.
3. Types de données
| Type | Exemple | Remarques |
|---|---|---|
| Chaîne | "hello" |
Uniquement des guillemets doubles |
| Nombre | 42, -3.14 |
Pas d’hexadécimal, pas de NaN, pas de zéro en début |
| Booléen | true, false |
En minuscules, sans guillemets |
| Null | null |
En minuscules, sans guillemets |
| Tableau | ["a", 1, true] |
Ordonné, types mixtes autorisés |
| Objet | {"key": "value"} |
Les clés sont toujours des chaînes de caractères |
Types de données JSON expliqués passe en revue chacun de ces types avec les cas limites qui font trébucher les analyseurs.
4. Opérations courantes (JavaScript)
JSON.parse(text) // chaîne -> valeur, lance une exception sur JSON invalide
JSON.stringify(value) // valeur -> chaîne
JSON.stringify(value, null, 2) // impression formatée, retrait de 2 espaces
value.key // lire une clé après analyse
value.nested.key // lire une clé imbriquée
5. Exemples
Tableau d’objets
[
{ "id": 1, "name": "Ada" },
{ "id": 2, "name": "Linus" }
]
Objet imbriqué
{ "user": { "id": 1, "verified": true } }
Types mixtes
{ "tags": ["a", "b"], "score": null, "live": false }
6. Bonnes pratiques
- Utilisez des noms de clés significatifs et cohérents.
- Gardez les structures aussi plates que les données le permettent raisonnablement.
- Validez le JSON avant d’analyser une entrée que vous n’avez pas générée vous-même.
- Utilisez des tableaux pour les listes, pas des objets avec des clés de type numérique.
- Mettez les grands entiers entre guillemets sous forme de chaînes si la précision exacte compte ; un ID
de 64 bits peut être arrondi dans un
JSON.parseclassique (voir Types de données JSON). - Gérez les erreurs d’analyse explicitement. Ne supposez jamais qu’une entrée est du JSON valide simplement parce qu’elle l’est habituellement.
Pour aller plus loin
- Qu’est-ce que JSON?, la version débutant de cette page.
- JSON vs YAML et JSON vs XML, quand JSON n’est pas le bon format.
- Le Formateur JSON et le Validateur JSON, pour vérifier un document réel par rapport à tout ce qui précède.