tigtools

Validateur JSON

Collez du JSON pour en vérifier la syntaxe selon la norme JSON. Les erreurs sont indiquées précisément par un marqueur et une explication claire.

Fonctionne dans votre navigateur Sans inscription

Le résultat s’affiche ici dès que vous collez du JSON.

Mode d’emploi

  1. Collez votre JSON dans le champ, ouvrez un fichier ou cliquez sur « Essayer un exemple » pour afficher un rapport d’erreur.
  2. Consultez le résultat : un message vert si le JSON est valide, ou la première erreur avec sa ligne, sa colonne et un marqueur sous le problème.
  3. Corrigez l’erreur indiquée et vérifiez à nouveau ; le résultat est mis à jour à mesure que vous saisissez du texte.
  4. Si le JSON est valide, consultez les statistiques : type de la valeur racine, nombre de clés, profondeur d’imbrication et taille en octets.

Fonctionnement

Le validateur vérifie la syntaxe selon la norme JSON (RFC 8259 / ECMA-404) à l’aide de l’analyseur JSON intégré au navigateur. Un document accepté ici l’est donc aussi par JSON.parse en JavaScript et par les analyseurs conformes aux normes dans les autres langages. En cas d’échec de l’analyse, un vérificateur strict conçu pour cet outil parcourt le texte une seule fois afin de repérer la première erreur et sa ligne et sa colonne exactes, puis affiche la ligne avec un marqueur ^ sous le problème.

Les indications portent sur les erreurs les plus courantes lorsqu’on écrit du JSON à la main ou qu’on le copie depuis du JavaScript : une virgule après le dernier élément, des chaînes entre apostrophes, des clés sans guillemets, des commentaires // ou /* */, des valeurs comme NaN, Infinity ou undefined, des sauts de ligne bruts dans les chaînes et deux documents JSON collés l’un à la suite de l’autre (comme dans les fichiers JSON Lines). Seule la première erreur est signalée, car une erreur suffit souvent à fausser tout ce qui suit.

L’outil vérifie uniquement la syntaxe. Il ne valide pas le document selon un JSON Schema et ne peut donc pas vous indiquer si un champ obligatoire manque. Il ne signale pas non plus les clés en double : la norme les autorise et la plupart des analyseurs conservent la dernière valeur. Les statistiques comptent les clés de chaque objet, quel que soit son niveau ; la profondeur est de 1 pour un objet ou un tableau sans imbrication et augmente d’une unité à chaque niveau d’imbrication.

Exemples

Configuration copiée depuis JavaScript

{name: 'demo', debug: true,} échoue à la ligne 1, colonne 2 avec le message « Les clés des objets doivent être entre guillemets doubles ». Après avoir mis la clé entre guillemets, l’analyse suivante pointe vers la chaîne entre apostrophes, puis vers la virgule finale.

Fichier journal avec un objet par ligne

Si vous collez deux lignes telles que {"id":1} et {"id":2}, le message « Il reste du contenu après la fin de la valeur JSON » apparaît à la ligne 2. Chaque ligne est un JSON valide individuellement (JSON Lines), mais les deux doivent être placées entre [ ] et séparées par une virgule.

Vérification d’une charge utile d’API

Une réponse de 2 MB est validée en un instant et affiche le type racine : Array, 1 500 éléments de premier niveau et une profondeur d’imbrication de 4 ; un contrôle rapide avant d’écrire du code pour l’exploiter.

Foire aux questions

Est-ce que cet outil vérifie la conformité à un JSON Schema ?

Non. Il vérifie que le texte respecte la syntaxe JSON. Pour vérifier les champs obligatoires, les types ou les formats, il faut utiliser un validateur JSON Schema, qui n’est pas inclus dans cet outil.

Pourquoi une seule erreur est-elle affichée ?

Après la première erreur de syntaxe, l’analyseur ne peut pas savoir ce que l’auteur voulait écrire. Les erreurs suivantes sont donc souvent des conséquences de la première. Corrigez le problème signalé ; s’il y en a un autre, il apparaîtra immédiatement.

Les commentaires et les virgules finales sont-ils parfois autorisés ?

Non, pas en JSON. Des formats comme JSON5 et JSONC (utilisés dans les fichiers de paramètres de certains éditeurs) les autorisent, mais les analyseurs JSON standard les rejettent. Ils sont donc signalés comme des erreurs ici.

Une valeur seule comme 42 ou "hello" est-elle du JSON valide ?

Oui. Depuis la RFC 7159, toute valeur JSON peut se trouver à la racine, et pas seulement les objets et les tableaux. Certains outils et API plus anciens attendent toujours un objet ou un tableau à la racine.

Pourquoi le numéro de colonne peut-il différer de celui de mon éditeur ?

Les colonnes sont comptées en unités de code UTF-16, comme JavaScript compte la longueur d’une chaîne. Les emoji et certains caractères rares comptent pour deux unités, tandis qu’une tabulation compte pour une colonne, même si les éditeurs l’affichent plus large.

Confidentialité

La validation s’effectue entièrement dans votre navigateur. Le JSON que vous collez ou ouvrez n’est ni envoyé, ni stocké, ni inclus dans les données analytiques.