Comment utiliser : Validateur JSON Schema
- Collez le JSON Schema à gauche et le JSON à vérifier à droite (le YAML est également accepté).
- Le draft est détecté à partir de
$schema, ou vous pouvez le choisir manuellement. - Lisez la liste des erreurs : l'emplacement dans le JSON, le problème et la règle du schéma qui n'a pas été respectée.
- Vous n'avez pas encore de schéma ? Collez des données d'exemple puis cliquez sur Générer le schéma à partir des données.
Qu'est-ce que JSON Schema ?
JSON Schema est un vocabulaire permettant de décrire la structure de données JSON : les propriétés existantes, leurs types, celles qui sont obligatoires, les valeurs autorisées, les formats de chaînes, les plages de nombres et la longueur des tableaux. Il sert à valider les requêtes et réponses d'API, les fichiers de configuration, les saisies de formulaires et les pipelines de données, et il constitue la base des définitions de requêtes et de réponses d'OpenAPI.
Lire les erreurs
| Colonne | Signification |
|---|---|
| Emplacement | Un pointeur JSON vers la valeur en erreur, par exemple /items/0/qty = qty du premier article |
| Problème | Ce qui ne va pas : mauvais type, propriété obligatoire manquante, valeur non autorisée, propriété inattendue… |
| Règle du schéma | Le chemin vers le mot-clé du schéma qui a rejeté la valeur, par exemple #/properties/items/items/properties/qty/minimum |
Les drafts
JSON Schema existe en plusieurs versions. Le draft 2020-12 est la version actuelle (OpenAPI 3.1 l'utilise) ; le draft-07 reste le plus largement supporté par les bibliothèques et les éditeurs ; le draft-04 apparaît dans d'anciennes spécifications comme Swagger 2.0 et OpenAPI 3.0. Le validateur lit $schema pour appliquer les bonnes règles. Les différences qui piègent souvent : le draft-04 utilise id au lieu de $id et un booléen exclusiveMinimum ; le 2019-09 remplace definitions par $defs et ajoute unevaluatedProperties.
Erreurs courantes
- Oublier
"additionalProperties": false: sans cela, les propriétés inconnues sont acceptées. - Placer
requiredà l'intérieur d'une propriété au lieu de l'objet parent. - Penser que
formatest appliqué partout : de nombreux validateurs se contentent d'annoter les formats, sauf si on leur demande de les vérifier. - Utiliser
"type": "integer"pour des valeurs comme1.0, qui arrivent sous forme de décimales selon certains langages.
Les schémas générés constituent un point de départ : renforcez-les avec des motifs, des énumérations et des limites. Explorez les gros documents avec le visualiseur JSON ou générez des types TypeScript avec JSON vers TypeScript. Vous validez une spécification d'API ? Utilisez le validateur OpenAPI.
Aussi recherché comme : valider json schema, json schema en ligne, validateur ajv en ligne, générer json schema, json schema draft 2020-12, json vers schema, générateur de schéma json.
Outils complémentaires : Validateur JSON Schema
- JSON vers JSON Schema — Collez un ou plusieurs exemples JSON et obtenez un JSON Schema qui les décrit : objets imbriqués, tableaux d’objets fusionnés en un seul schéma d’élément, champs requis (clés présentes dans chaque exemple), formats détectés comme email, date-time, URI et UUID, enums facultatifs, et sortie au draft 2020-12 ou draft-07.
- Formateur JSON — Collez votre code JSON pour le formater, le compresser ou le valider.
- Validateur YAML — Collez un fichier Docker Compose, un manifeste Kubernetes, un workflow GitHub Actions ou tout autre YAML pour localiser les erreurs, repérer les pièges courants et obtenir une version proprement formatée.
- Testeur JSONPath — Saisissez une requête JSONPath et voyez immédiatement ce qu'elle sélectionne, avec le chemin exact de chaque résultat.
Questions fréquentes
Quel validateur JSON Schema est utilisé ?
Peut-on générer un JSON Schema à partir d'un JSON ?
Le validateur gère-t-il les $ref vers d'autres fichiers ?
#/$defs/...) fonctionnent. Les URL externes ne sont pas chargées : intégrez d'abord ces définitions directement dans le schéma.