Ce qu’il fait
Valider vérifie un document JSON par rapport à un JSON Schema pendant la saisie, avec Ajv 8, un validateur JSON Schema très répandu. Générer le schéma fait l’inverse : collez un échantillon JSON et obtenez un schéma de départ à affiner.
Fonctionnalités
- Draft 2020-12 et draft-07. Le draft est lu dans
$schema; en son absence, il est déduit des mots-clés utilisés ($defs,prefixItemsoudefinitions,itemssous forme de tuple). Vous pouvez le forcer. - Chaque erreur pointe vers sa ligne. Les erreurs indiquent le chemin dans l’instance, le mot-clé en échec, un message lisible avec la valeur fautive et le chemin dans le schéma. Cliquez sur un chemin pour sélectionner la ligne dans le JSON ou dans le schéma.
- D’abord les problèmes de schéma. Un schéma invalide est vérifié par rapport à son méta-schéma et signalé avec des chemins cliquables ; les mots-clés inconnus (fautes de frappe comme
requird) et les$refimpossibles à résoudre sont signalés. - Les formats tels que
date-time,date,time,email,uri,uuid,ipv4,ipv6,hostnameetdurationsont validés ; désactivez l’option pour traiter les formats comme de simples annotations. - Erreurs JSON strictes avec ligne et colonne : virgules finales, commentaires, guillemets simples, zéros non significatifs. Les clés en double sont également signalées.
- Le générateur fusionne tous les éléments d’un tableau, marque comme
requiredles propriétés présentes dans chaque échantillon, utilise des unions de types pour les valeurs nulles et mixtes et détecte les formats courants. En option :additionalProperties: falseetexamples.
Comment l’utiliser
Collez un schéma à gauche et votre JSON à droite, ou déposez des fichiers .json de l’un ou l’autre côté. En mode génération, collez un objet ou un tableau d’échantillons, puis utilisez Valider avec pour tester immédiatement le résultat.
Confidentialité
Tout s’exécute dans votre navigateur. Votre schéma et votre JSON ne sont jamais envoyés, et les URL de $ref externes ne sont pas récupérées. Les dernières saisies sont conservées dans le stockage local de votre navigateur.