Qu’est-ce que le schéma JSON ?
JSON Schema est un vocabulaire défini par l'IETF (Internet Engineering Task Force) qui permet de décrire la structure, les contraintes et les règles de validation des données JSON. Un schéma JSON spécifie les propriétés qu'un objet doit avoir, les types de données autorisés, les plages de valeurs, les modèles de chaînes, les longueurs de tableau, etc. Il est largement utilisé pour la validation des demandes/réponses API, la génération de formulaires, la validation des fichiers de configuration et la documentation des données. JSON Schema prend en charge les brouillons de Draft-04 à Draft 2020-12. Cet outil vous permet de générer automatiquement un schéma JSON à partir d'échantillons de données JSON (utile comme point de départ) et de valider n'importe quel document JSON par rapport à un schéma à l'aide de la bibliothèque Ajv (Another JSON Validator), qui est le validateur de schéma JSON le plus largement utilisé dans l'écosystème JavaScript.
Comment utiliser cet outil de schéma JSON en ligne gratuit
- 1Choisissez entre 'Generate Schema' et 'Validate JSON' à l'aide des onglets en haut.
- 2Pour générer un schéma : collez un exemple d'objet JSON dans la zone de saisie. L'outil déduit automatiquement les types et génère un JSON Schema que vous pouvez utiliser comme point de départ.
- 3Pour valider JSON : collez les données JSON que vous souhaitez valider dans le premier champ, et collez le JSON Schema dans le deuxième champ. Cliquez sur le bouton 'Validate'.
- 4Vérifiez le résultat de la validation : un message vert signifie que le JSON est conforme au schéma ; un message rouge répertorie toutes les erreurs de validation avec leurs chemins.
- 5Cliquez sur le bouton Copier pour copier le schéma généré ou les résultats de validation.
Cas d'utilisation courants du schéma JSON
Validation du contrat API
Définissez des schémas JSON pour vos corps de requête et de réponse API afin de garantir que les clients envoient des données valides et que les serveurs renvoient les structures attendues.
Validation du fichier de configuration
Créez des schémas pour les fichiers de configuration d'application afin de détecter les erreurs plus tôt, avant qu'elles ne provoquent des échecs d'exécution en production.
Générer des schémas à partir d'exemples
Démarrez rapidement un schéma JSON à partir d'exemples de données au lieu d'en écrire un à partir de zéro. Affinez le schéma généré en ajoutant des contraintes telles que des champs et des modèles obligatoires.
Génération et validation de formulaires
JSON Schema est utilisé par des bibliothèques telles que réagir-jsonschema-form et vue-jsonschema-form pour générer automatiquement des formulaires d'interface utilisateur avec validation intégrée.
Contrôles de qualité du pipeline de données
Validez les données entrantes dans les pipelines ETL par rapport à un schéma pour rejeter les enregistrements mal formés avant qu'ils ne corrompent votre entrepôt de données.
Questions fréquentes
Quel brouillon de schéma JSON cet outil prend-il en charge ?
Le moteur de validation (Ajv) prend en charge par défaut JSON Schema Draft-07, qui est la version la plus largement adoptée. Le générateur de schéma produit des schémas compatibles avec Draft-04 et versions ultérieures. Pour les fonctionnalités Draft 2019-09 ou 2020-12, vous devrez peut-être ajouter les plugins ajv-formats ou ajv-keywords.
Quelle est la précision du schéma généré automatiquement ?
Le schéma généré déduit les types à partir des exemples de données que vous fournissez : il détermine avec précision les types de chaîne, de nombre, de booléen, de tableau et d'objet. Cependant, il ne peut pas déduire des contraintes telles que des valeurs minimales/maximales, des modèles de chaînes (regex), des champs obligatoires ou des valeurs d'énumération. Traitez le schéma généré comme point de départ et affinez-le manuellement.
Que signifie 'allErrors: true' dans la validation ?
Par défaut, Ajv s'arrête à la première erreur de validation. Avec 'allErrors: true', il continue de vérifier et signale chaque erreur détectée, vous donnant ainsi une image complète de tous les problèmes en un seul passage. Ceci est plus utile pour le débogage mais légèrement plus lent pour les très gros documents.
Cet outil est-il gratuit et privé ?
Oui. La génération et la validation de schémas s'exécutent entièrement dans votre navigateur à l'aide des bibliothèques to-json-schema et Ajv JavaScript. Aucune donnée n'est envoyée à un serveur et aucune inscription n'est requise.