← Retour à l'outil JSON

Validateur JSON Schema

Dernière mise à jour : 2 octobre 2026

Vérifiez un document JSON par rapport à un JSON Schema et voyez chaque contrainte non respectée avec le chemin où elle échoue. Le document et le schéma sont tous deux analysés et vérifiés dans votre navigateur.

Dans votre navigateur Aucun envoi Erreurs par chemin Mots-clés du Draft 2020-12 Open source (MIT)

Ce qui est vérifié

Un JSON Schema décrit la forme qu'un document est autorisé à prendre : quelles propriétés existent, de quel type elles sont, et quelles plages et quels motifs sont acceptables. Cette page vérifie un document par rapport à un schéma et liste chaque point où il échoue, chacun avec un chemin pour le retrouver.

Les mots-clés pris en charge sont : type, const, enum, required, properties, additionalProperties, minProperties, maxProperties, items (un schéma, ou un tuple de schémas), minItems, maxItems, uniqueItems, minLength, maxLength, pattern, minimum, maximum, exclusiveMinimum, exclusiveMaximum, multipleOf, allOf, anyOf, oneOf, not et les pointeurs $ref locaux à l'intérieur du même schéma.

Ce qu'il ne fait délibérément pas

Comment lire les erreurs

Chaque échec est signalé à un chemin : $ est la racine du document, un point entre dans une propriété et un crochet indexe un tableau. required est signalé sur l'objet qui devait contenir la propriété — la contrainte porte sur l'objet, pas sur la propriété manquante — avec le nom de la propriété dans le message. anyOf et oneOf sont signalés une fois, sur l'instance qui a échoué, plutôt qu'une fois par branche ; un mur d'erreurs de branches masquerait la vraie.

Questions fréquentes

Quels mots-clés JSON Schema sont pris en charge ?

type, const, enum, required, properties, additionalProperties, minProperties, maxProperties, items (un seul schéma ou un tuple de schémas), minItems, maxItems, uniqueItems, minLength, maxLength, pattern, minimum, maximum, exclusiveMinimum, exclusiveMaximum, multipleOf, allOf, anyOf, oneOf, not et les $ref locaux.

Qu'est-ce qui n'est délibérément pas pris en charge ?

Les $ref distants (seuls les pointeurs internes au même schéma sont résolus), le format en tant qu'assertion, patternProperties, unevaluatedProperties, if/then/else et dependentSchemas. Un schéma qui les utilise verra quand même ses autres mots-clés vérifiés, mais ceux qui ne sont pas implémentés ne sont pas appliqués : ne lisez donc pas un « valide » ici comme une conformité complète pour un schéma construit sur eux.

La validation est-elle faite sur un serveur ?

Non. Le document et le schéma sont tous deux analysés avec JSON.parse dans votre navigateur et vérifiés en mémoire. Rien n'est envoyé et la page fonctionne sans réseau.

Pourquoi l'erreur de propriété requise est-elle signalée au chemin du parent ?

Parce que c'est là qu'est la contrainte. JSON Schema applique required à l'objet, pas à la propriété manquante ; l'erreur est donc signalée au chemin de l'objet — par exemple $ et non $.name — avec le nom de la propriété dans le message.

Comment anyOf et oneOf sont-ils signalés ?

Par une seule erreur sur l'instance qui a échoué, plutôt qu'une par branche. anyOf échoue quand aucune branche ne correspond ; oneOf échoue quand le nombre de branches correspondantes n'est pas exactement un, et le message indique combien ont correspondu. Signaler les erreurs internes de chaque branche noierait la vraie.

Me dit-il si le schéma est faux, ou vérifie-t-il seulement le document ?

Il vérifie le document par rapport au schéma. Si le schéma n'est pas du JSON valide, cela est indiqué séparément. Il ne valide pas le schéma par rapport au métaschéma JSON Schema : un schéma syntaxiquement correct mais logiquement erroné peut simplement ne rien faire correspondre.

Besoin de comparer deux documents ? Comparer du JSON s'en charge. Une erreur ? Écrivez-nous.