Aller à l’éditeur JSON
JSON Formatter Viewer

Validateur JSON

input.json

Collez votre JSON ici

ou déposez un fichier .json n’importe où dans cette zone

La sortie formatée apparaîtra ici.

En attente d’une saisie

Ce que montre le panneau d’erreur

Les messages de l’analyseur natif sont laconiques et varient selon le navigateur : Unexpected token } ne dit presque rien sur ce qu’il faut changer. Quand la validation échoue, quatre informations sont fournies à la place :

  • Ligne et colonne, déduites du décalage de caractère signalé par l’analyseur.
  • La ligne source avec un curseur sous le caractère exact, cadrée pour que le curseur reste visible même sur une ligne minifiée de 4 000 caractères.
  • Ce que l’analyseur attendait, réécrit en langage clair plutôt que la chaîne brute du moteur.
  • Une cause probable, déduite en inspectant la source autour du défaut à la recherche des erreurs listées ci-dessous.

La ligne fautive est aussi marquée dans la gouttière de l’éditeur, et Aller à l’erreur place le curseur sur le caractère pour que vous le corrigiez et voyiez le statut passer à valide pendant la saisie.

Toutes les causes courantes, et leur correction

Virgule finale

Valide en JavaScript, invalide en JSON. L’analyseur signale qu’il attendait un nom de propriété ou une valeur, car après une virgule il exige un autre membre.

{ "a": 1, "b": 2, }   ✗
{ "a": 1, "b": 2 }     ✓

Apostrophes

Les chaînes JSON sont entre guillemets doubles, pour les clés comme pour les valeurs. Sans exception.

{ 'name': 'ada' }      ✗
{ "name": "ada" }      ✓

Noms de propriété sans guillemets

Les littéraux d’objet JavaScript acceptent des identifiants nus comme clés ; JSON non. C’est la raison la plus fréquente pour laquelle un extrait copié depuis du code source ne valide pas.

{ name: "ada" }        ✗
{ "name": "ada" }      ✓

Commentaires

JSON n’a pas de syntaxe de commentaire — délibérément. S’il vous faut des annotations dans un fichier de configuration, utilisez une clé "_comment" ou un format qui les gère, comme JSON5, YAML ou TOML. Réparer supprime les commentaires // et /* */ pour que vous puissiez au moins lire les données.

Littéraux Python et JavaScript

True, False et None viennent d’un repr Python collé ; undefined, NaN et Infinity viennent de JavaScript. JSON a exactement trois mots-clés, tous en minuscules : true, false et null. Il n’existe aucun moyen d’exprimer NaN ou l’infini en JSON : utilisez null ou une chaîne sentinelle.

Caractères non échappés dans les chaînes

Un retour à la ligne littéral, une tabulation ou un guillemet double non échappé dans une chaîne la termine trop tôt, et l’erreur apparaît souvent plusieurs jetons après la faute réelle. Échappez-les en \n, \t et \". Les caractères de contrôle bruts en dessous de U+0020 ne sont jamais autorisés.

Plusieurs valeurs de premier niveau

Un document JSON contient une seule valeur. Deux objets séparés par un retour à la ligne, c’est du NDJSON : un format différent et très utile, mais qu’il faut analyser ligne par ligne. Réparer le reconnaît et emballe les lignes dans un tableau pour que vous voyiez tout le fichier d’un coup.

Valide mais risqué

Passer la validation ne veut pas dire qu’un document est sûr. Deux choses sont du JSON légal et causent pourtant de vrais problèmes :

  • Clés dupliquées. La grammaire les autorise ; le comportement dépend de l’implémentation. JavaScript conserve la dernière occurrence, des données peuvent donc disparaître silencieusement.
  • Entiers au-delà de 253−1. Tout consommateur basé sur JavaScript perd en précision à l’analyse. Si vos identifiants sont sur 64 bits, sérialisez-les en chaînes.

Une fois le document valide, le visualiseur en arbre est le moyen le plus rapide de vérifier que la structure est celle attendue, et le formatage le rend relisible.

Questions fréquentes

Quelle spécification JSON est utilisée ?

L’analyseur natif du navigateur, qui implémente RFC 8259 et ECMA-404. En pratique, les deux sont équivalents, et RFC 8259 remplace RFC 7159 et RFC 4627. Un document qui valide ici s’analyse dans Node, Python, Go et Java.

Cet outil vérifie-t-il mon JSON contre un JSON Schema ?

Non : il valide la syntaxe, pas la forme. Il répond à « est-ce du JSON analysable ? » et non à « est-ce conforme à mon contrat ? ». La validation structurelle contre un schéma exige le schéma, et s’exécute mieux dans votre suite de tests que dans un onglet de navigateur.

Pourquoi la colonne signalée diffère-t-elle de celle de mon éditeur ?

Les colonnes sont comptées en caractères à partir de 1, comme les signale l’analyseur. Les éditeurs qui affichent les tabulations sur plusieurs colonnes indiqueront un nombre plus grand sur les lignes commençant par des tabulations. Le curseur du panneau d’erreur pointe toujours le bon caractère.

Un document vide est-il du JSON valide ?

Non. RFC 8259 exige exactement une valeur : un fichier vide est donc invalide. null, 0, false, "", [] et {} sont tous des documents valides à eux seuls.

Le reste de la boîte à outils

Même moteur, même confidentialité — chaque page tourne entièrement dans votre navigateur.