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.