Validateur de schéma JSON

Validez des données JSON selon un schéma JSON Schema (draft 2020-12, 2019-09 ou 07) avec Ajv et contrôle des formats. Chaque erreur indique son chemin. En local.

S'exécute entièrement dans votre navigateur. Vos données ne sont jamais envoyées.

Outils Connexes

Voir Tout

Qu'est-ce que Validateur de schéma JSON ?

Le validateur de schéma JSON vérifie des données JSON par rapport à un schéma JSON Schema et liste toutes les violations – propriétés requises manquantes, mauvais types, nombres hors limites, formats invalides, propriétés en trop – chacune avec le pointeur JSON de la valeur fautive. Les drafts 2020-12, 2019-09 et 07 sont pris en charge.

Comment utiliser Validateur de schéma JSON

  1. Collez les données dans Données JSON et le schéma dans Schéma JSON (ou cliquez sur Charger un exemple pour chacun).
  2. Laissez la Version du schéma en détection automatique, ou choisissez un draft.
  3. Lisez le résultat : un message de succès, ou la liste des erreurs avec leurs chemins d'instance.
  4. Corrigez les données (ou le schéma) et le résultat se met à jour automatiquement.

Exemple

Entrée
Data: {"age":-1,"email":"x"}
Schema: {"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","required":["name"],"properties":{"age":{"type":"integer","minimum":0},"email":{"type":"string","format":"email"}}}
Sortie
Validation errors: 3 (draft 2020-12)
(root) Missing required property "name"
/age Must be ≥ 0
/email Must be a valid "email"

Quand utiliser Validateur de schéma JSON

Utilisez-le pour tester des charges utiles d'API, des fichiers de configuration ou des schémas que vous écrivez. Les schémas draft-04 et antérieurs ne sont pas pris en charge (Ajv 8 les a abandonnés). Les URL $ref distantes ne sont pas téléchargées ; les schémas doivent être autonomes (les $ref locaux vers #/$defs/... fonctionnent).

Comment fonctionne Validateur de schéma JSON

La validation utilise Ajv 8, une implémentation de JSON Schema très répandue, avec allErrors activé pour que chaque violation soit signalée, et ajv-formats pour les mots-clés format comme email, date-time, uri et uuid. Le draft est détecté à partir de l'URL $schema du schéma (2020-12, 2019-09, sinon draft-07) ou choisi manuellement. Le mode strict est désactivé : les mots-clés inconnus comme example sont ignorés au lieu d'être rejetés. Les types d'erreur courants sont affichés avec des messages traduits ; les autres utilisent le message d'Ajv.

Cas d'utilisation courants

  • Vérifier un corps de requête d'API par rapport à son schéma dérivé d'OpenAPI
  • Déboguer le rejet d'un fichier de configuration
  • Développer et tester un nouveau schéma JSON
  • Valider des jeux de données de test

Note de Sécurité

Tout s'exécute localement dans votre navigateur : le code que vous collez n'est pas envoyé.

Questions Fréquentes

Quels drafts sont pris en charge ?

2020-12, 2019-09 et draft-07 (les schémas draft-06 fonctionnent en général comme du draft-07). Draft-04 n'est pas pris en charge.

Les formats comme email sont-ils vérifiés ?

Oui, via ajv-formats.

Peut-il charger des schémas $ref distants ?

Non, uniquement des références à l'intérieur du même schéma.

Pourquoi affiche-t-il plusieurs erreurs à la fois ?

Toutes les erreurs sont collectées pour que vous puissiez tout corriger en une seule passe.

Étapes suivantes conseillées

Explorer d'autres catégories