Validateur JSON

Collez n’importe quel document JSON et voyez s’il se parse correctement selon la RFC 8259. Les entrées invalides reviennent avec le problème exact, virgule finale après le dernier élément du tableau, clé sans guillemets, chaîne non terminée, guillemets simples là où JSON exige des doubles, mauvaises séquences d’échappement, ainsi que la ligne et la colonne où le parseur a abandonné. Utile lors du débogage d’une réponse API, d’un fichier de configuration, d’un package.json modifié par un coéquipier ou de la sortie d’un générateur de code.

Comment fonctionne la validation JSON

  1. 1

    Collez votre JSON

    Déposez une charge utile, un fichier de configuration ou une réponse API. Les espaces sont acceptés ; les tabulations et les commentaires ne le sont pas (le JSON pur n'a pas de commentaires).

  2. 2

    Analysez avec un parseur RFC 8259 strict

    Le validateur rejette tout ce que la spécification interdit : virgules finales, clés sans guillemets, guillemets simples, `undefined`, nombres hexadécimaux.

  3. 3

    Lisez l'erreur

    Si cela échoue, vous obtenez le message du parseur ainsi qu'un emplacement approximatif, suffisant pour naviguer directement vers le caractère.

  4. 4

    Corrigez et revalidez

    Corrigez le problème, collez à nouveau et confirmez que le document est valide avant de le commiter ou de l'envoyer.

Ce que le JSON strict autorise, et ce qu'il n'autorise pas

De nombreux formats “presque JSON” circulent (JSON5, JSONC, HJSON, hybrides similaires à YAML). La spécification JSON elle-même est petite et stricte ; ce validateur vous indique si votre document survit à un parseur strict, ce que la plupart des systèmes en aval exécutent réellement.

Règles qui piègent la plupart des gens

Règle Valide Invalide
Les clés doivent être des chaînes entre guillemets doubles {"a": 1} {a: 1}
Les chaînes utilisent uniquement des guillemets doubles "hello" 'hello'
Pas de virgules finales [1, 2, 3] [1, 2, 3,]
Pas de commentaires (aucun) // commentaire ou /* */
Nombres : pas de + initial, pas de .5 0.5 +1, .5
Littéraux réservés uniquement true, false, null undefined, NaN
Encodage UTF-8 Chaînes Unicode Séquences d’octets invalides

Erreurs courantes et ce qu’elles signifient

  • “Token } inattendu”, vous avez une virgule finale avant l’accolade fermante.
  • “Nom de propriété attendu”, la clé n’est pas entre guillemets ou vous avez oublié les guillemets autour de la clé d’ouverture.
  • “Fin d’entrée inattendue”, une accolade { ou [ d’ouverture n’est pas fermée ; comptez les accolades.
  • “Mauvais caractère de contrôle”, une tabulation, un saut de ligne ou un autre octet de contrôle à l’intérieur d’une chaîne littérale. Échappez-les comme \t, \n, etc.
  • “Clé dupliquée”, ce n’est pas réellement une erreur selon la spécification JSON (la spécification dit qu’elle DOIT être unique), mais de nombreux validateurs avertissent. Le validateur le signale comme un avis, pas un échec sévère.

Si vous avez besoin de formats plus flexibles

  • JSON5 permet les virgules finales, les commentaires et les guillemets simples. Utilisez un parseur JSON5 si c’est votre format cible.
  • JSONC (JSON avec commentaires) est ce que les paramètres de VS Code utilisent. Supprimez les commentaires avant l’analyse stricte.
  • YAML est un format différent ; ne supposez pas qu’il s’agit “juste de JSON indenté”.

Conseils

  • Validez avant de commiter. Une faute de frappe dans un package.json ou une configuration CI casse toute la construction jusqu’à ce que quelqu’un le remarque.
  • Formatez après validation pour rendre les différences de révision lisibles. Un fichier JSON d’une seule ligne est valide mais difficile à réviser.
  • Pour de grandes charges utiles, validez en streaming (jq en ligne de commande, par exemple). L’analyse dans le navigateur a du mal au-delà de quelques Mo.

Questions fréquentes

Cet outil vérifie uniquement la validité syntaxique, est-ce un JSON bien formé ? Pour les règles structurelles (champs requis, valeurs d’énumération, longueurs de chaîne), utilisez un validateur de schéma JSON. Les deux étapes sont complémentaires : il n’est pas utile d’exécuter la validation de schéma sur un document qui n’est pas un JSON valide en premier lieu.

Parce que le JSON standard n’a pas de commentaires. // et /* */ sont une extension de bon sens (JSONC, JSON5) mais le JSON pur les rejette. Supprimez les commentaires avant d’envoyer à un consommateur strict, ou adoptez JSON5 dans toute votre pile.

Invalide dans le JSON strict. La spécification n’autorise que les nombres finis. Sérialisez-les en tant que chaînes ("NaN", "Infinity") ou en tant que null, selon la manière dont votre consommateur gère les données manquantes.

Non, la validation s’exécute dans votre navigateur, donc la charge utile que vous collez ne quitte jamais la page. Sûr pour les fichiers de configuration sensibles et les réponses API avec des identifiants.

Outils similaires

Outil disponible dans d’autres langues