Un schéma n’est utile que si vous pouvez réellement vérifier un document par rapport à lui et obtenir une réponse claire sur ce qui a échoué et où. Ce validateur couvre le sous-ensemble de JSON Schema que le générateur de ce site écrit, donc un schéma produit là est garanti d’être applicable sur cette page.
Utiliser le validateur JSON Schema
Collez un schéma à gauche et le document à vérifier à droite, puis appuyez sur Valider. Le chargement de l’exemple remplit les deux volets à la fois, vous pouvez donc modifier uniquement le document et voir immédiatement ce que le schéma rejette.
Étant donné le schéma
{
"type": "object",
"properties": {
"age": {"type": "integer", "minimum": 0},
"name": {"type": "string", "minLength": 2}
},
"required": ["age", "name"]
}
et le document {"age": -5, "name": "A"}, la validation signale deux
problèmes en un passage : minimum a échoué à /age parce que -5 est
inférieur à 0, et minLength a échoué à /name parce que "A" fait
un seul caractère. Chaque problème est signalé, pas seulement le premier,
et chacun porte le mot-clé exact qui l’a rejeté et un JSON Pointer vers
la valeur, donc un problème est un chemin que vous pouvez parcourir plutôt
qu’une phrase que vous devez décoder.
Ce qui est supporté
Type, enum et const ; les mots-clés properties, patternProperties,
additionalProperties et required ; longueur, motif et format sur les
chaînes ; bornes et multiples sur les nombres ; items et uniqueItems sur
les tableaux ; les combinateurs allOf, anyOf, oneOf et not ; if-then-else ;
et les références locales via $defs ou definitions. Un mot-clé que ce
validateur n’implémente pas est traité comme une annotation et ignoré,
ce qui est exactement ce que la spécification JSON Schema permet à un
validateur de faire avec un mot-clé non reconnu.
Ce qui arrête toute la vérification
Un $ref qui ne nomme rien à l’intérieur du schéma, ou un qui pointe
entièrement vers l’arrêté, arrête la validation complètement et l’indique.
Signaler un résultat de réussite ou d’échec pour un schéma qui n’a pas pu
être entièrement résolu serait un déguisé en réponse, donc l’outil refuse
d’en donner un.
Intervertir les côtés
Puisque les volets du schéma et du document sont visuellement similaires, Intervertir les côtés déplace le schéma actuel dans le volet document et vice versa, utile si vous les avez collés dans les mauvaises cases ou si vous voulez vérifier rapidement un schéma pour sa cohérence de base contre lui-même.