Outils

Validateur JSON Schema

Vérifiez un document JSON par rapport à un JSON Schema avec Ajv et voyez chaque chemin en échec, pas seulement le premier.

S’exécute dans le navigateurOutils de développement IA14,8 k
Gratuit

Entrée

0 B

Résultat

Le résultat apparaîtra ici.

Quand la sortie structurée d’un modèle, la charge utile d’un webhook ou un fichier de configuration est rejeté, la réponse utile est une liste : quels chemins échouent et quelle règle chacun enfreint. Ce validateur exécute Ajv, l’implémentation de JSON Schema sur laquelle repose la plupart de l’outillage JavaScript, avec allErrors activé : un document comportant cinq problèmes affiche donc cinq lignes — le pointeur JSON vers la valeur, le message et le chemin dans le schéma qui a produit l’erreur. Placez le schéma dans le champ du schéma et le document dans la zone de saisie.

Comment ça marche

  • Le dialecte suit le $schema du schéma lui-même : 2020-12 et 2019-09 utilisent les classes Ajv correspondantes, draft-07 ou l’absence de déclaration la classe par défaut.
  • ajv-formats est chargé, si bien que les mots-clés format comme email, date-time, uri et uuid sont réellement vérifiés au lieu d’être ignorés en silence.
  • Le mode strict d’Ajv est désactivé : des annotations comme examples ou des mots-clés propriétaires n’interrompent pas la validation, et un schéma lui-même invalide est signalé comme tel.

Où vont vos données

Nulle part. Cet outil s’exécute entièrement dans votre navigateur : le texte collé est traité par la page, jamais transmis à un serveur ni consigné dans un journal.

Cet outil est gratuit et ne demande aucun compte. Ses résultats n’existent que dans la page ouverte et ne sont enregistrés nulle part.

Ce que ça coûte

Cet outil est gratuit, sans connexion ni points.

Questions fréquentes

Pourquoi mon schéma draft-04 est-il refusé ?
Draft-04 définit exclusiveMinimum et exclusiveMaximum comme des booléens, alors que les versions suivantes en ont fait des nombres : exécuter un ancien schéma sous un dialecte plus récent peut donc laisser passer des données qui devraient échouer. Plutôt que de deviner, l’outil vous demande de mettre à jour $schema. Les schémas draft-06 sont acceptés et vérifiés comme draft-07, qui ne fait qu’ajouter des mots-clés.
Que signifie le chemin après « at » ?
C’est le chemin dans le schéma de la règle qui a échoué, par exemple #/properties/items/items/properties/price/minimum. Le premier chemin de chaque ligne pointe dans vos données, et ce second chemin pointe dans le schéma, ce dont vous avez besoin quand c’est le schéma, et non les données, qui s’avère erroné.
L’outil télécharge-t-il les URL $ref depuis Internet ?
Non. Les références internes au même schéma (#/$defs/… ou #/definitions/…) sont résolues, mais les URL $ref distantes ne sont pas téléchargées, et un schéma qui en dépend échoue à la compilation avec un message indiquant la référence. Collez les définitions référencées dans $defs pour valider hors ligne.

L’open source derrière

Cet outil fonctionne grâce à ajv-validator/ajv, publié sous licence MIT. Si vous avez besoin du même comportement dans votre propre programme, c’est cette bibliothèque qu’il faut utiliser.

ajv-validator/ajv

Aussi appelé

  • validateur json schema
  • valider json avec un schéma
  • ajv en ligne
  • json schema 2020-12
  • json schema draft 7
  • vérifier json en ligne