DT Dev Tools

Générateur de JSON Schema

Générez localement un JSON Schema draft-07 à partir d'un exemple JSON. Ce générateur gratuit déduit types, propriétés, champs obligatoires et schémas d'éléments de tableau, sans envoi de données.

🔒 S'exécute entièrement dans votre navigateur — rien n'est téléchargé

Advertisement

Ce que fait le Générateur de JSON Schema

Le Générateur de JSON Schema lit un exemple JSON et produit un schéma draft-07 qui valide les documents ayant la même structure. Il parcourt la valeur de façon récursive : les objets deviennent un schéma avec une table properties et un tableau required, les tableaux deviennent un schéma avec une définition items, et les valeurs primitives sont décrites par leur type JSON Schema. Le résultat est un contrat portable que vous pouvez intégrer à la documentation d'une API, à des middlewares de validation de requêtes, à des chargeurs de configuration, à des tests de contrat ou à des outils d'éditeur proposant l'autocomplétion et la validation en ligne à partir d'un schéma.

Les tableaux sont résumés plutôt qu'énumérés. Lorsqu'un tableau contient des objets, tous les éléments sont fusionnés afin que le schéma items généré couvre l'union des clés, et une clé absente de certains éléments est retirée de la liste des champs obligatoires. Lorsqu'un tableau mélange des types primitifs, le générateur produit un anyOf pour que chaque type observé reste valide. Générer à partir d'un exemple est le moyen le plus rapide d'amorcer un schéma que vous affinez ensuite à la main, au lieu d'écrire de zéro des définitions de types imbriquées.

Un flux de travail privé dans le navigateur

Toute l'analyse et la construction du schéma se déroulent dans votre navigateur grâce à du JavaScript côté client. L'outil n'envoie à aucun serveur votre JSON, vos réponses d'API, votre configuration, vos identifiants ou vos exemples proches de données clients, et n'exige aucun compte. Ce fonctionnement purement local est important, car l'entrée d'un générateur de schémas est souvent une vraie charge utile capturée lors du débogage d'un service. Garder le travail sur votre machine réduit les risques et rend le résultat instantané, puisque rien ne quitte la page.

L'interface place côte à côte l'entrée JSON et le schéma généré afin que vous puissiez vérifier le résultat avant de le copier. Un schéma généré à partir d'un seul exemple est un point de départ, non un contrat achevé : un exemple unique ne peut pas révéler toutes les propriétés facultatives, valeurs d'énumération, contraintes de format ou plages numériques que permet votre domaine. Élargissez et resserrez donc le schéma grâce à des connaissances que l'exemple ne contient pas.

Conseils pratiques

Utilisez l'exemple le plus complet dont vous disposez, avec des champs facultatifs renseignés et des tableaux de plus d'un élément, afin que la logique de fusion décrive précisément les unions. Après la génération, affinez le schéma : ajoutez des mots-clés format tels que email, uri ou date-time lorsque c'est pertinent, ajoutez des listes enum pour les champs à valeurs fixes, définissez minimum et maximum pour les nombres, et retirez du tableau required les champs qui peuvent légitimement être absents. Validez le schéma final sur plusieurs documents réels avec le validateur de votre choix avant de l'utiliser en production : la génération dans le navigateur est idéale pour obtenir rapidement un premier brouillon précis.

Comment utiliser

  1. Collez le JSONAjoutez un objet, un tableau ou une valeur JSON représentatif.
  2. GénérezProduisez un schéma draft-07 décrivant l'exemple.
  3. Copiez ou téléchargezVérifiez le schéma, puis copiez-le ou téléchargez un fichier .json.

Questions fréquemment posées

Quelle version de JSON Schema est produite ?
Le générateur produit des schémas draft-07 avec l'identifiant $schema correspondant.
Comment les propriétés obligatoires sont-elles choisies ?
Chaque clé présente dans l'objet d'exemple est listée comme obligatoire. Retirez du tableau required les clés facultatives.
Mon JSON est-il envoyé quelque part ?
Non. La génération du schéma s'exécute entièrement dans votre navigateur avec du JavaScript côté client.
Advertisement