Qu'est-ce que le JSON ?
JSON (JavaScript Object Notation) est le format d'échange de données le plus utilisé sur le web. Léger, lisible par l'humain et facilement parsable par les machines, il est devenu le standard de facto pour les APIs REST, la configuration d'applications, et le stockage de données structurées.
JSON est défini par la RFC 8259. Il supporte 6 types de valeurs : chaîne (string), nombre, booléen, null, objet et tableau.
La syntaxe JSON
{
"nom": "Marie",
"age": 30,
"actif": true,
"email": null,
"tags": ["admin", "vip"],
"adresse": {
"ville": "Paris",
"code_postal": "75001"
}
}- Les clés sont obligatoirement entre guillemets doubles.
- Les valeurs string aussi :
"texte", jamais'texte'. - Pas de virgule trailing après le dernier élément d'un objet ou tableau.
- Pas de commentaires
// .... - Les nombres ne sont jamais entre guillemets :
"age": 30et non"age": "30".
Erreurs JSON courantes
- Virgule en trop :
{"a":1,}est invalide. Supprimez la virgule. - Guillemets simples :
{'a':1}est invalide. Utilisez{"a":1}. - Clés non entre guillemets :
{a:1}est invalide.{"a":1}est valide. - String non terminée :
{"a":"texte}est invalide. Fermez le guillemet. - Caractère échappé incorrect : un backslash isolé dans une string casse le parsing.
Indenter ou minifier ?
Indenter ajoute des espaces et retours à la ligne pour rendre le JSON lisible par l'humain. Utile pour la configuration, le debug, la documentation. Standard : 2 ou 4 espaces.
Minifier supprime tous les espaces inutiles. Utile en production pour réduire la bande passante. Le gain typique est de 30 à 60 % en taille. À utiliser pour les payloads d'API, les fichiers JSON envoyés sur le réseau.
JSON ou alternatives
- JSON : universel, supporté partout, simple. Pas de commentaires, pas de types complexes (date, BigInt).
- YAML : plus lisible (indentation), commentaires possibles. Mais parsing plus lent et plus d'ambiguïtés.
- TOML : pour la config, plus structuré que YAML, moins ambigu.
- JSON5 : JSON avec commentaires et virgules trailing. Pratique pour les fichiers de config, mais non standard.
- MessagePack / Protobuf : binaires, plus compacts et rapides. Non lisibles par l'humain.
Validation : pourquoi c'est utile
Une simple validation JSON garantit que le format est syntaxiquement correct, mais ne valide pas le contenu. Pour valider la structure (champs requis, types attendus, valeurs autorisées), on utilise JSON Schema — un standard qui décrit la forme attendue d'un JSON et permet de vérifier qu'un document s'y conforme.
Questions fréquentes
Mes données JSON sont-elles transmises ?
Non. JSON.parse / JSON.stringify exécutés dans le navigateur. Rien envoyé.
Que signifie minifier ?
Suppression des espaces / retours à la ligne. Gain 30-60 % de taille.
Pourquoi mon JSON est invalide ?
Causes : virgule trailing, guillemets simples, clés sans guillemets. La position est affichée.
2 ou 4 espaces ?
Préférence visuelle. JS moderne = 2. Python = 4. Restez cohérent par projet.
JSON5 supporté ?
Non, uniquement JSON standard RFC 8259.
Sources
- RFC 8259 — The JavaScript Object Notation (rfc-editor.org)
- JSON Schema — Standard de validation (json-schema.org)
- MDN — JSON.parse() et JSON.stringify()
Outil basé sur les API natives JSON.parse / JSON.stringify du navigateur. Tout traitement reste local.