Aller au contenu principal
CuteJSON
↑↓ Naviguer Enter Selectionner Esc Fermer

Comment valider JSON contre un JSON Schema

Publie 2 min de lecture Par Akash Kinkar Pandey

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.

Retour aux articles