100 % local — vos données ne quittent jamais votre navigateur

Validateur JSON — la ligne et la colonne à corriger

Vérifiez qu’un JSON se parse, avec la ligne et la colonne quand ce n’est pas le cas. Vous allez droit au caractère fautif au lieu de le chercher.

Instantané Privé Zéro cookie

Entrée JSON

Sortie Result

Ce que dit le rapport

Pour un document qui s’analyse : la forme de la valeur racine et la taille.

✓ Valid JSON

Root: object (4 keys)
Size: 312 characters, 18 lines

Sinon : le message de l’analyseur, avec la position traduite en ligne et colonne — une fois, pas deux.

N’importe quelle valeur JSON est un document

42 est du JSON valide. "bonjour" aussi, true aussi, null aussi.

C’est vrai depuis la RFC 7159 (2014) ; la RFC 4627 d’origine exigeait un objet ou un tableau au premier niveau. Certains analyseurs anciens appliquent encore l’ancienne règle, ce qu’il est bon de se rappeler le jour où un validateur dit oui et votre bibliothèque dit non.

Clés en double : un avertissement, pas une erreur

{ "port": 8080, "port": 3000 }

Le rapport déclare le document valide et ajoute une note avec la position du second port.

C’est une différence délibérée avec le formateur JSON, qui refuse la même entrée. La RFC 8259 dit que les noms d’un objet devraient être uniques — un « devrait », pas un « doit » — le document est donc bel et bien valide, et un validateur décrit ce qu’il voit.

Un formateur doit produire quelque chose, et produire veut dire décider laquelle des deux valeurs survit. Les analyseurs en décident différemment : la plupart gardent la dernière, certains la première, d’autres refusent. Ce choix vous appartient, pas à un outil : le formateur s’arrête, le validateur avertit.

Ce que « valide » ne veut pas dire

Cela ne veut pas dire que le fichier dit ce que vous croyez.

Un champ requis absent, une chaîne là où un nombre a sa place, une date écrite à l’américaine, une URL avec une coquille : tout cela s’analyse parfaitement. Le vérifier demande un schéma — JSON Schema, et un validateur qui le lit — c’est-à-dire une autre question que celle à laquelle cette page répond.

Confidentiel par conception

Tout s’exécute localement dans votre navigateur en JavaScript. Vos données ne sont jamais envoyées sur un serveur, ce qui rend l’outil sûr pour des contenus sensibles, et il fonctionne hors ligne.

Questions fréquentes

Pourquoi une clé en double est-elle un avertissement ici et une erreur dans le formateur ?
Parce que les deux outils ont des métiers différents. La RFC 8259 dit que les noms *devraient* être uniques — un « devrait » — si bien qu’un document qui en répète un reste du JSON valide, et le métier d’un validateur est de décrire ce qu’il voit. Un formateur, lui, doit produire une sortie, donc choisir quelle valeur survit, et ce choix ne lui appartient pas.
42 est-il du JSON valide ?
Oui. Depuis la RFC 7159, n’importe quelle valeur JSON est un document complet : un nombre, une chaîne, `true`, `null`. L’ancienne RFC 4627 exigeait un objet ou un tableau au sommet, ce qui explique que de vieux analyseurs refusent encore `42` — bon à savoir le jour où un validateur et votre bibliothèque ne sont pas d’accord.
Il dit valide, mais mon programme refuse le fichier. Pourquoi ?
Parce que valide signifie que la syntaxe s’analyse, pas que le contenu est celui qu’on attend. Un champ requis absent, un nombre là où une chaîne était déclarée, une date au mauvais format : rien de tout cela n’est de la syntaxe. Le vérifier demande un schéma, c’est-à-dire un autre outil et une autre question.

Convertisseurs associés