Validateur JSON
Collez du JSON pour le vérifier selon la norme, avec le message d'erreur exact et sa position en cas de problème.
Valider du JSON en ligne
Une seule virgule égarée suffit pour qu'une API rejette une requête ou qu'un fichier de configuration refuse de se charger, et le message d'erreur obtenu n'aide pas toujours. Coller le document dans un validateur vous dit en une seconde s'il s'agit de JSON valide et, sinon, exactement où il casse.
Cette page ouvre le formateur JSON, qui valide le document à chaque modification avec l'analyseur conforme aux normes du navigateur et le met en forme lorsqu'il est valide.
Les erreurs les plus fréquentes détectées par un validateur
| Erreur | Invalide | Valide |
|---|---|---|
| Virgule finale | {"a": 1,} | {"a": 1} |
| Guillemets simples | {'a': 'x'} | {"a": "x"} |
| Clé sans guillemets | {a: 1} | {"a": 1} |
| Virgule manquante | {"a": 1 "b": 2} | {"a": 1, "b": 2} |
| Commentaire | {"a": 1 // note} | Supprimez le commentaire |
| Retour à la ligne non échappé dans une chaîne | un saut de ligne à l'intérieur de "…" | "line 1\nline 2" |
| Valeurs spéciales | NaN, undefined | null ou un nombre |
Lire le message d'erreur
Les navigateurs signalent les erreurs JSON avec une position, par exemple « Expected double-quoted property name in JSON at position 12 ». La position compte les caractères à partir de zéro : elle désigne le caractère où l'analyseur a abandonné. La véritable erreur se trouve généralement juste avant : la virgule devant une accolade fermante, ou le guillemet qui aurait dû être double.
Valide ne veut pas dire correct
Un validateur vérifie la syntaxe, pas le sens. Un JSON avec une clé mal orthographiée, un nombre envoyé sous forme de chaîne ou un champ obligatoire manquant reste du JSON valide. Pour vérifier la structure, utilisez un validateur JSON Schema dans votre code ou votre CI. Et méfiez-vous des clés en double : elles sont techniquement autorisées, mais la plupart des analyseurs ne conservent silencieusement que la dernière.
Valider dans le code
- JavaScript :
JSON.parse(text)dans un bloctry/catch - Python :
json.loads(text), oupython -m json.tool file.jsonen ligne de commande - jq :
jq empty file.jsonn'affiche rien quand le fichier est valide - PHP :
json_validate($text)depuis PHP 8.3
Une fois le JSON valide, le minificateur JSON retire les espaces superflus pour le transport.