Validateur JSON Schema — Chemins draft-07 et local
Validez du JSON contre un JSON Schema (draft-07) dans le navigateur. Étapes : collez Schema et instance, validez, puis lisez chaque échec via son JSON Pointer. Exemple : un produit sans price échoue avec missingProperty. Le texte reste dans l’onglet ; Ajv ne charge que du code depuis un CDN.
Moteur : Ajv 8 · JSON Schema draft-07 (par défaut).
Fonctionnement
Collez le Schema à gauche et l’instance à droite. Ajv (draft-07) compile, valide et liste chaque erreur avec un JSON Pointer. Des exemples en échec et valides sont disponibles ; la page charge l’exemple en échec à l’ouverture.
Règles à prévoir
Sur cette page : parser → compiler le Schema draft-07 → valider l’instance → émettre des Pointers.
- Parse : les deux panneaux doivent passer JSON.parse. Les erreurs de syntaxe/compilation sont séparées des échecs de validation.
- Validation : allErrors collecte tous les échecs. Chaque ligne = instancePath + message (+ missingProperty si pertinent).
- Draft : dialecte draft-07. Ne supposez pas les mots-clés 2020-12 ici.
- Confidentialité : le collage reste dans l’onglet. Le CDN ne charge que le code Ajv.
Exemple
Le Schema exige sku (chaîne) et price (nombre ≥ 0). Valide : {"sku":"A-1","price":9.5}. Échec : {"sku":"A-1"} — missingProperty pour price à la racine (/).
Bons cas d’usage
- IA / agents : vérifier si le JSON structuré du modèle omet des champs avant de lui faire confiance.
- Feeds commerce : valider le JSON produit contre un Schema avant import.
- Débogage API : coller un corps requête/réponse sur un fragment de Schema du contrat.
Frequently asked questions
Pourquoi la validation a-t-elle échoué ?
Causes fréquentes : clés required manquantes, mauvais types, ou additionalProperties:false. Lisez le Pointer et le message du mot-clé.
Comment lire une erreur JSON Pointer ?
instancePath est un JSON Pointer dans l’instance (vide affiché comme /). Si une propriété required manque, Ajv ajoute missingProperty dans params.
Quel draft utilise cette page ?
Cette page utilise le dialecte draft-07 d’Ajv. Les drafts 2019-09 / 2020-12 demandent d’autres builds et ne sont pas choisis ici.
Mon JSON quitte-t-il le navigateur ?
Votre Schema et votre JSON ne sont pas envoyés. Le CDN ne télécharge que le code Ajv.
Comment contrôler une sortie structurée de LLM ?
Collez Schema et JSON du modèle, validez, corrigez chaque Pointer jusqu’à la réussite — utile avant d’envoyer une sortie structurée plus loin.
Questions ou retours
Quelque chose n’est pas clair, cassé ou manquant ? Rédigez un message ci-dessous — nous lisons chaque note.