ByteCompress

Validateur JSON

Vérifiez si votre JSON est syntaxiquement valide selon RFC 8259. Obtenez des messages d'erreur précis avec les numéros de ligne et de colonne pour résoudre rapidement les problèmes.

0 chars
FreeClient-sideNo signup

Une virgule finale après le dernier élément d'un tableau est l'erreur JSON la plus courante - et elle est invisible à l'œil dans la sortie minifiée. Les erreurs d'analyse JSON représentent environ 15 % du temps de débogage API, selon l'analyse de l'enquête des développeurs 2023 de StackOverflow. Ce validateur détecte cela et toute autre violation de la RFC 8259 directement dans votre navigateur. Collez votre JSON pour obtenir un verdict immédiat : valide ou invalide, avec la ligne et la colonne exactes de tout problème. Rien n'est téléchargé. Aucun compte requis.

Comment valider JSON

  1. Collez ou tapez votre JSON dans la zone de saisie.
  2. Le validateur vérifie la syntaxe en temps réel, ou cliquez sur Valider pour un rapport complet.
  3. Si valide, un indicateur vert confirme la structure avec un résumé du type de niveau supérieur.
  4. Si invalide, le panneau d'erreur montre la ligne exacte, la colonne et une description en termes simples du problème.
  5. Corrigez le problème indiqué et re-validez jusqu'à obtenir un résultat propre.

Ce qui est vérifié

Règles structurelles

JSON doit commencer par un objet ({}) ou un tableau ([]) au niveau supérieur, bien que la RFC 8259 autorise également les primitives (chaînes, nombres, booléens, null) comme valeurs de niveau supérieur. Les accolades et les crochets doivent être équilibrés et correctement imbriqués. Les virgules doivent séparer les éléments mais ne doivent pas apparaître après le dernier élément - les virgules finales sont l'erreur JSON la plus fréquente. Chaque clé d'objet doit être une chaîne entre guillemets doubles.

Types de valeurs

JSON définit six types de valeurs : chaînes (entre guillemets doubles, avec des séquences d'échappement spécifiques), nombres (entiers et décimaux, sans zéros initiaux), booléens (true et false, uniquement en minuscules), null (en minuscules), objets et tableaux. Les valeurs spécifiques à JavaScript telles que undefined, NaN, Infinity, et les expressions de fonction ne sont pas des JSON valides et échoueront à la validation.

Conformité à la RFC 8259

La RFC 8259 (publiée en décembre 2017, remplaçant la RFC 4627 et la RFC 7159) est la norme IETF actuelle pour JSON. Elle spécifie l'encodage UTF-8, interdit les clés d'objet en double et définit des séquences d'échappement exactes pour les valeurs de chaîne. Ce validateur applique des règles strictes de la RFC 8259 pour une compatibilité maximale entre tous les analyseurs et langages.

Exemple

Saisie invalide (virgule finale)

{
  "name": "Alice",
  "roles": ["admin", "editor",]
}

Erreur du validateur

Erreur à la ligne 3, colonne 33 : Jeton inattendu ']'
Les virgules finales ne sont pas autorisées dans les tableaux JSON (RFC 8259 §5).

Erreurs de syntaxe courantes

  • Virgule finale - {"a": 1,} - retirez la dernière virgule avant l'accolade ou le crochet de fermeture
  • Chaînes entre guillemets simples - {'key': 'value'} - changez pour des guillemets doubles
  • Clés non citées - {key: "value"} - enveloppez la clé entre guillemets doubles
  • Commentaires JavaScript - // commentaire ou /* commentaire */ - JSON n'a pas de syntaxe de commentaire ; retirez-les
  • Casse incorrecte pour booléen/null - True, False, NULL sont invalides ; utilisez true, false, null

Différence entre validation et formatage

La validation vérifie si le JSON est syntaxiquement correct - il passe ou échoue avec des détails d'erreur spécifiques. Le formatage n'ajoute que des espaces pour la lisibilité et ne vérifie pas la correction. Tenter de formater un JSON invalide échoue également, car le formateur doit d'abord analyser le JSON. Validez d'abord, puis formatez.

Une fois que le JSON passe la validation, le Formateur JSON l'indente pour la lisibilité, et le Minificateur JSON le compresse pour un usage en production. Pour le JSON intégré dans une URL, décodez avec le Décodeur URL avant de valider.

Questions fréquentes

Quelle est la différence entre la validation JSON et le formatage ?

La validation vérifie si votre JSON est syntaxiquement correct selon RFC 8259. Le formatage n'ajoute que des espaces pour la lisibilité et ne vérifie pas la correction. Vous pouvez essayer de formater un JSON invalide, mais le formateur échouera également car il doit d'abord analyser le JSON. Validez avant de formater.

Pourquoi JavaScript accepte-t-il mon JSON mais le validateur le rejette-t-il ?

Certaines environnements JavaScript acceptent des super-ensembles JSON relaxés comme JSON5 ou HJSON, qui permettent les commentaires, les chaînes entre guillemets simples et les virgules finales. Ce validateur teste selon la stricte RFC 8259 pour s'assurer que le JSON fonctionne dans tous les langages et environnements d'exécution. Si votre cas d'utilisation est uniquement JavaScript, envisagez JSON5.parse() avec la bibliothèque json5.

Puis-je valider des documents de schéma JSON avec cet outil ?

Cet outil valide uniquement la syntaxe JSON, pas la sémantique du schéma JSON. Un document de schéma JSON est lui-même un JSON valide, donc la validation de syntaxe fonctionne. Pour valider si un objet de données est conforme à une définition de schéma JSON, vous avez besoin d'un validateur de schéma JSON dédié comme ajv.

Mes données sont-elles privées lorsque je les valide ici ?

Complètement. La validation s'exécute côté client dans votre navigateur en utilisant la fonction native JSON.parse. Aucune donnée n'est envoyée à un serveur, enregistrée ou stockée. Vous pouvez valider en toute sécurité des charges utiles contenant des identifiants API, des informations personnelles ou des données commerciales internes.

Quelles sont les erreurs de validation JSON les plus courantes ?

Par ordre de fréquence : (1) virgules finales après le dernier élément - [1, 2, 3,]; (2) chaînes entre guillemets simples au lieu de guillemets doubles; (3) barres obliques inverses non échappées ou caractères de contrôle à l'intérieur des chaînes; (4) commentaires JavaScript; (5) True/False/Null en majuscules au lieu de true/false/null.