Collez votre schéma JSON à gauche et le JSON de la réponse d'API à droite. L'outil compare automatiquement les deux structures et valide les types, champs obligatoires, motifs regex et plus.
JSON Schema Draft-07 complet : types (type), champs obligatoires (required), propriétés (properties), regex (pattern), format, enums et logique de combinaison (allOf, anyOf, oneOf, not).
L'outil génère un rapport détaillé avec le chemin JSON en erreur, le type d'erreur spécifique et la règle de schéma correspondante. Localisez rapidement les problèmes.
Vérifiez que vos données sont conformes au schéma avant l'import ETL ou l'ingestion. Interceptez les données sales et anomalies pour garantir la qualité de vos pipelines.
Oui. Tout le traitement s'exécute localement dans votre navigateur. Vos données ne sont jamais envoyées sur un serveur.
Le tableau ci-dessous répertorie les mots-clés de validation les plus couramment utilisés dans la spécification JSON Schema, organisés par catégorie pour une référence rapide.
| Mot-clé | Description |
|---|---|
| Types de base | |
type | Spécifie le type de données : string, number, integer, boolean, array, object, null. Prend en charge un type unique ou un tableau de types. |
| Validation d'objet | |
properties | Définit des sous-schémas pour les propriétés de l'objet. |
required | Tableau de chaînes spécifiant quelles propriétés sont obligatoires. |
additionalProperties | Contrôle si les propriétés supplémentaires non définies dans properties sont autorisées ; peut être false ou un schéma. |
propertyNames | Schéma auquel les noms de propriétés doivent correspondre (utilise généralement une regex pattern). |
minProperties | Nombre minimum de propriétés qu'un objet doit contenir. |
maxProperties | Nombre maximum de propriétés qu'un objet peut contenir. |
| Enums & Constantes | |
enum | Tableau de valeurs autorisées ; les données doivent correspondre exactement à une valeur du tableau. |
const | Valeur constante ; les données doivent être strictement égales à cette valeur. |
| Contraintes numériques | |
minimum | Valeur numérique minimum (inclusive). |
maximum | Valeur numérique maximum (inclusive). |
exclusiveMinimum | La valeur doit être strictement supérieure à (exclusive). |
exclusiveMaximum | La valeur doit être strictement inférieure à (exclusive). |
multipleOf | La valeur doit être un multiple du nombre spécifié. |
| Contraintes de chaîne | |
minLength | Longueur minimum de la chaîne. |
maxLength | Longueur maximum de la chaîne. |
pattern | Expression régulière ; la chaîne doit correspondre à ce motif. |
format | Validation de format sémantique : email, uri, date-time, uuid, ipv4, ipv6, hostname, etc. |
| Contraintes de tableau | |
items | Schéma pour les éléments du tableau (un schéma unique s'applique à tous les éléments). |
minItems | Nombre minimum d'éléments du tableau. |
maxItems | Nombre maximum d'éléments du tableau. |
uniqueItems | Indique si les éléments du tableau doivent être uniques. |
contains | Au moins un élément du tableau doit correspondre à ce schéma. |
| Logique combinatoire | |
allOf | Les données doivent correspondre à tous les sous-schémas (ET logique). |
anyOf | Les données doivent correspondre à au moins un sous-schéma (OU logique). |
oneOf | Les données doivent correspondre à exactement un sous-schéma (OU exclusif). |
not | Les données ne doivent PAS correspondre à ce schéma (NON logique). |
| Validation conditionnelle | |
if | Schéma conditionnel ; si les données correspondent à if, elles doivent satisfaire then ; sinon elles doivent satisfaire else. |
then | Schéma à satisfaire lorsque la condition if est vraie. |
else | Schéma à satisfaire lorsque la condition if est fausse. |
| Références & Réutilisation | |
$ref | Référence d'autres définitions de schéma ; prend en charge les références locales (#/$defs/xxx) et les références distantes. |
$defs | Définit des sous-schémas réutilisables (Draft 2019-09+ ; les versions plus anciennes utilisent definitions). |
definitions | Mot-clé pour les sous-schémas réutilisables dans Draft 4-7. |
| Métadonnées | |
title | Titre du schéma (annotation, non validée). |
description | Description du schéma (annotation, non validée). |
default | Valeur par défaut (annotation, non validée). |
examples | Tableau de valeurs d'exemple (annotation, non validée). |
$schema | Spécifie la version de la spécification JSON Schema utilisée. |
| Dépendances | |
dependentRequired | Dépendance de propriété : lorsqu'une propriété existe, d'autres propriétés doivent également exister (Draft 2019-09+). |
dependencies | Mot-clé de dépendance dans Draft 4-7 couvrant à la fois les dépendances de propriété et de schéma. |
JSON Schema a évolué à travers plusieurs versions Draft. Draft 7 est actuellement la version la plus largement utilisée ; Draft 2020-12 est la dernière version stable.
| Fonctionnalité | Draft 4 | Draft 6 | Draft 7 | 2019-09 | 2020-12 |
|---|---|---|---|---|---|
| validation type | ✓ | ✓ | ✓ | ✓ | ✓ |
| champs obligatoires | ✓ | ✓ | ✓ | ✓ | ✓ |
| enum/const | ✓ enum | ✓ | ✓ | ✓ | ✓ |
| minimum/maximum | ✓ | ✓ | ✓ | ✓ | ✓ |
| exclusiveMinimum/Maximum | boolean | number | number | number | number |
| multipleOf | ✓ | ✓ | ✓ | ✓ | ✓ |
| minLength/maxLength | ✓ | ✓ | ✓ | ✓ | ✓ |
| regex pattern | ✓ | ✓ | ✓ | ✓ | ✓ |
| validation format | ✓ | ✓ | ✓ | annotation par défaut | annotation par défaut |
| tableau items | ✓ | ✓ | ✓ | ✓ | ✓ |
| contains | ✗ | ✓ | ✓ | ✓ | ✓ |
| minItems/maxItems | ✓ | ✓ | ✓ | ✓ | ✓ |
| uniqueItems | ✓ | ✓ | ✓ | ✓ | ✓ |
| additionalProperties | ✓ | ✓ | ✓ | ✓ | ✓ |
| propertyNames | ✗ | ✓ | ✓ | ✓ | ✓ |
| allOf/anyOf/oneOf/not | ✓ | ✓ | ✓ | ✓ | ✓ |
| if/then/else | ✗ | ✗ | ✓ | ✓ | ✓ |
| références $ref | ✓ | ✓ | ✓ | ✓ | ✓ |
| réutilisation $defs | definitions | definitions | definitions | $defs | $defs |
| dependentRequired | ✗ | ✗ | ✗ | ✓ | ✓ |
| tuples prefixItems | forme tableau | forme tableau | forme tableau | forme tableau | prefixItems |
| unevaluatedProperties | ✗ | ✗ | ✗ | ✓ | ✓ |
| $dynamicRef/$anchor | ✗ | ✗ | ✗ | ✓ $recursiveRef | ✓ dynamicRef |