Aller au contenu
Tout en local

Validateur de schéma JSON

Comparez un document JSON avec un schéma JSON et obtenez un rapport d'erreur lisible ligne par ligne.

Entrée
Schéma JSON
Sortie

Validateur de schéma JSON

Collez un document JSON d'un côté et un schéma JSON de l'autre, et cet outil vous indique si le document correspond – et si ce n'est pas le cas, exactement où et pourquoi. Chaque problème est signalé sous la forme d'une ligne avec le chemin du pointeur JSON vers la valeur incriminée, le mot-clé du schéma qui a échoué et la valeur réelle qui s'y trouve, afin que vous puissiez accéder directement au correctif au lieu de parcourir manuellement une charge utile volumineuse.

Le validateur couvre le noyau quotidien du schéma JSON draft-07 : "type" (y compris les tableaux d'union comme ["string", "null"] pour les champs nullables), "required" et "properties", "additionalProperties" en tant que schéma booléen ou propre, "items" pour la validation de liste et de tuple, "minItems"/"maxItems"/"uniqueItems", les mots-clés numériques. "minimum"/"maximum"/"exclusiveMinimum"/"exclusiveMaximum"/"multipleOf", les mots-clés de chaîne "minLength"/"maxLength"/"pattern", "enum" et "const", et les combinateurs "anyOf"/"allOf"/"oneOf"/"not". Il résout également les pointeurs "$ref" vers la propre section "#/definitions" ou "#/$defs" d'un schéma - pratique pour les schémas qui prennent en compte une forme d'objet partagé - et détecte un "$ref" qui revient sur lui-même au lieu de geler la page.

Il s'agit d'un validateur, pas d'un générateur de formulaire basé sur un schéma : il ne récupère pas de schéma à partir d'une URL ou d'un "$id", et il ne le fera jamais, car cela signifierait envoyer vos données ou la définition de votre schéma depuis votre appareil. Tout "$ref" pointant en dehors du document est signalé comme non pris en charge plutôt qu'ignoré silencieusement, de sorte que vous savez toujours exactement ce qui a été vérifié et ce qui n'a pas été vérifié.

Tout s'exécute localement dans votre navigateur : le document JSON et le schéma sont analysés et vérifiés sur votre appareil et ne sont jamais téléchargés nulle part, ce qui rend cette utilisation sûre avec les charges utiles de l'API, les fichiers de configuration ou tout autre JSON incluant des données que vous préférez ne pas coller dans un site Web aléatoire.

FAQ

Quel brouillon de schéma JSON est-il pris en charge ?
Un sous-ensemble pratique de draft-07 : type (y compris les tableaux union et nullable), obligatoire, propriétés, supplémentairesProperties, éléments, minItems/maxItems/uniqueItems, les mots-clés numériques et de limites de chaîne, enum/const, anyOf/allOf/oneOf/not et les pointeurs locaux $ref vers "#/definitions" ou "#/$defs".
Peut-il suivre un $ref vers un autre fichier ou une autre URL ?
Non. Seuls les pointeurs locaux vers les propres "#/definitions" ou "#/$defs" du même schéma sont résolus. Un $ref pointant ailleurs est signalé comme non pris en charge plutôt que récupéré, car récupérer un schéma distant signifierait envoyer des données depuis votre appareil.
Que se passe-t-il si mon schéma a une $ref circulaire ?
Elle est détectée et signalée comme une erreur "$ref" au lieu de geler l'onglet — le validateur garde une trace des références qu'il suit actuellement et s'arrête dès que l'on répète.
Comment chaque erreur est-elle signalée ?
Une ligne par problème, avec le chemin du pointeur JSON vers la valeur (comme "/user/age"), le mot-clé du schéma qui a échoué (comme "minimum" ou "obligatoire") et la valeur réelle qui y a été trouvée.
Mon document JSON et mon schéma sont-ils téléchargés n'importe où ?
La validation s'exécute entièrement dans votre navigateur à l'aide de l'analyseur JSON intégré : ni les données ni le schéma ne quittent jamais votre appareil, et aucun schéma n'est jamais récupéré du réseau.