Validation JSON Schema Expliquée

Ce qu'est JSON Schema, comment valider des données contre un schéma, les patterns courants et comment déboguer du JSON invalide.

JSON Schema est un vocabulaire qui permet d'annoter et de valider des données JSON. Il définit la structure, les types et les contraintes de vos données.

Qu'est-ce que JSON Schema ?

Un JSON Schema est lui-même un document JSON qui décrit la forme attendue d'un autre document JSON. Il spécifie quels champs doivent exister, quels types ils devraient être et quelles valeurs sont acceptables.

{  "type": "object",  "properties": {    "name": { "type": "string" },    "age": { "type": "integer", "minimum": 0 },    "email": { "type": "string", "format": "email" }  },  "required": ["name", "email"]}

Pourquoi utiliser JSON Schema ?

Sans validation, votre application accepte silencieusement n'importe quelle donnée. JSON Schema attrape les erreurs tôt — aux frontières de l'API, lors du chargement de la configuration ou avant les écritures en base de données.

  • Contrats d'API — Assurez-vous que les corps de requête et de réponse correspondent au format attendu.
  • Validation de configuration — Attrapez les fautes de frappe dans les fichiers de configuration.
  • Validation de formulaires — Validez les entrées utilisateur côté client et serveur.
  • Documentation — Un schéma bien écrit sert de documentation vivante.

Mots-clés principaux

type spécifie le type de données attendu. Pour les chaînes : minLength, maxLength, pattern, format. Pour les nombres : minimum, maximum. Pour les tableaux : items, minItems, maxItems. Pour les objets : properties, required, additionalProperties.

Composition avec allOf, anyOf, oneOf

Les schémas du monde réel combinent fréquemment plusieurs contraintes. allOf exige que tous les schémas correspondent. anyOf exige qu'au moins un corresponde. oneOf exige qu'exactement un corresponde. not inverse un schéma.

Déboguer du JSON invalide

Quand la validation échoue, vous avez besoin de messages d'erreur clairs. La plupart des validateurs produisent une sortie détaillée. L'outil JSON Formatter peut vous aider à formater et inspecter votre JSON.

Bonnes pratiques

  • Utilisez $ref — Évitez de dupliquer les schémas.
  • Soyez spécifique — Utilisez enum pour les ensembles de valeurs fixes.
  • Versionnez vos schémas — Utilisez $schema et $id.
  • Validez aux frontières — Vérifiez les données le plus tôt possible.

Essayez-le

Utilisez un outil local pour valider vos données JSON — tout s'exécute dans votre navigateur.

Frequently asked questions

Qu'est-ce que JSON Schema ?
JSON Schema est un vocabulaire qui vous permet d'annoter et de valider des documents JSON.
JSON Schema est-il la même chose que la validation ?
Non. JSON Schema est la spécification ; la validation est le processus de vérification des données.
JSON Schema peut-il valider JSON contre une spécification API ?
Oui. JSON Schema est couramment utilisé dans les spécifications OpenAPI/Swagger.
Comment déboguer une erreur de validation JSON Schema ?
La plupart des validateurs retournent le chemin exact où la validation a échoué.