JSON Schema
JSON Schema est un vocabulaire pour décrire la structure de documents JSON, définissant types, contraintes et règles de validation ; c'est le standard de schéma pour JSON.
Objectif
Donner à JSON un mécanisme de validation semblable à XSD, garantissant que les données correspondent à la structure attendue.
Mécanisme
Un schéma se décrit en JSON : type déclare le type, properties les propriétés d'objet, items les éléments de tableau, required les champs obligatoires, et minimum/maximum/pattern les contraintes. Draft 2020-12 est la dernière version. Les validateurs (ajv) vérifient les documents.
Cas d’usage
- Validation de requêtes/réponses d'API
- Vérification de fichiers de configuration
- Validation de données de formulaire
- Définitions de types OpenAPI
Exemples
- entrée
{"type":"object","properties":{"age":{"type":"integer","minimum":0}}}OutputValidates that age is a non-negative integerConstraint declaration
Erreurs courantes
- Using an outdated draft version breaks validator compatibility
- Pin the draft version and use a matching validator
Termes associés
XSD
XSD (XML Schema Definition) est le langage standard du W3C pour définir la structure de documents XML, décrivant éléments, attributs et contraintes de types en syntaxe XML. GLOSSAIRE
DTD
Une DTD (Document Type Definition) est le mécanisme de définition de structure de XML 1.0 ; plus simple que XSD mais limité, elle s'écrit dans une syntaxe spéciale (non XML). GLOSSAIRE
JSON
JSON (JavaScript Object Notation) est un format léger d'échange de données fondé sur les littéraux d'objets JavaScript, utilisant paires clé-valeur et tableaux. GLOSSAIRE