Comment valider un JSON en ligne
- Collez le JSON ou ouvrez un fichier. La validation s'exécute automatiquement pendant la saisie.
- Un message vert « JSON valide » accompagné de statistiques signifie que le document est correct. Sinon, lisez l'erreur : elle indique la ligne, la colonne et ce qui était attendu à cet endroit.
- Corrigez la ligne mise en évidence ou cliquez sur Réparer, puis sur Formater pour rendre le résultat facile à lire.
Erreurs JSON courantes et comment les corriger
| Erreur | Exemple | Correction |
|---|---|---|
| Virgule finale | [1, 2, ] | Supprimez la virgule avant ] ou } |
| Guillemets simples | {'name': 'Ada'} | Utilisez des guillemets doubles : {"name": "Ada"} |
| Clé sans guillemets | {name: "Ada"} | Mettez la clé entre guillemets : {"name": "Ada"} |
| Virgule manquante | {"a": 1 "b": 2} | Ajoutez une virgule entre les propriétés |
| Commentaire | // settings | JSON n'accepte pas les commentaires : supprimez-les |
| Saut de ligne dans une chaîne | "line 1⏎line 2" | Écrivez \n au lieu d'un vrai saut de ligne |
| Valeur non valide | undefined, NaN, True | Utilisez null, un nombre, true ou false |
| Zéro initial | {"zip": 01234} | Écrivez 1234, ou gardez la valeur en texte : "01234" |
| Crochet manquant | {"a": [1, 2} | Fermez chaque [ par ] et chaque { par } |
Qu'est-ce qu'un JSON valide ?
JSON est défini par la RFC 8259. Un document valide respecte quelques règles strictes :
- Il contient exactement une valeur de premier niveau, généralement un objet
{}ou un tableau[]. - Les membres d'un objet sont des paires
"key": valueséparées par des virgules ; les clés sont toujours des chaînes entre guillemets doubles. - Les chaînes utilisent des guillemets doubles ; seuls les échappements
\" \\ \/ \b \f \n \r \tet\uXXXXy sont autorisés. - Les nombres sont décimaux : pas de zéros initiaux, pas de signe
+, pas d'hexadécimal, niNaNniInfinity. true,falseetnulls'écrivent en minuscules.- Les espaces, tabulations et sauts de ligne sont autorisés entre les éléments, mais pas les commentaires.
Valider du JSON en ligne de commande
- Python :
python -m json.tool file.jsonaffiche la ligne et la colonne de la première erreur. - jq :
jq empty file.jsonse termine avec un message d'erreur si le fichier n'est pas valide. - Node.js :
node -e "JSON.parse(require('fs').readFileSync('file.json', 'utf8'))"
Questions fréquentes
Quelle est la différence entre un validateur JSON et un linter JSON ?
Un validateur vérifie que le texte respecte la syntaxe JSON. Un linter impose généralement aussi un style cohérent. Ce vérificateur JSON valide strictement selon la RFC 8259 et, avec Formater, vous donne en plus une indentation homogène.
Peut-il valider un JSON par rapport à un JSON Schema ?
Cette page vérifie la syntaxe. Pour décrire la structure attendue de vos données, créez un schéma à partir d'un document d'exemple avec notre générateur de JSON Schema.
Pourquoi mon JSON est-il valide ici mais refusé par un autre programme ?
Les programmes attendent souvent une structure précise (certaines clés ou certains types), un encodage particulier comme l'UTF-8 sans indicateur d'ordre des octets (BOM), ou des nombres dans une plage limitée. Un JSON syntaxiquement valide peut tout de même enfreindre ces règles applicatives.
Un JSON avec commentaires (JSONC) est-il valide ?
Non. Le JSON standard n'autorise pas les commentaires. Certains éditeurs les acceptent dans les fichiers de paramètres (JSONC), mais pas les API ni JSON.parse. Réparer supprime les commentaires pour vous.