Génération JSON Schema

Generate a JSON Schema from sample JSON, inferring nested objects and array item types.

Glissez un fichier ici
ou cliquez sur le bouton ci-dessous pour choisir un fichier local
.json / .txt / .csv, jusqu'à 10 Mo, analysé uniquement dans le navigateur
Schema draft
Les deux brouillons partagent la même structure ; seul l'URI $schema diffère (aucun champ inutile ajouté).
Required fields
Propriétés de l'objet
A single sample cannot tell which fields are business-required — feel free to edit the generated schema.
Tout le traitement se fait dans votre navigateur et les données ne sont jamais envoyées au serveur.

Générez automatiquement un Schema à partir de données JSON

Qu’est-ce que JSON Schema ?

JSON Schema est une spécification qui utilise JSON pour décrire la structure, les types de champs et les contraintes d’autres données JSON. Il peut servir à valider les paramètres d’API, contrôler les fichiers de configuration, valider des données et décrire des structures dans une documentation d’API. Cet outil déduit automatiquement la structure à partir d’un JSON existant et génère un JSON Schema initial.

Comment générer un Schema à partir d’un JSON ?

Collez les données JSON dans la zone de saisie ou importez un fichier JSON local, sélectionnez la version du Schema Draft et les options de champs, puis cliquez sur Générer. L’outil identifie les types JSON tels que les objets, tableaux, chaînes, nombres, booléens et null, puis génère le Schema selon la structure imbriquée réelle.

Quelle est la différence entre Draft 2020-12 et Draft-07 ?

Draft 2020-12 et Draft-07 sont deux versions différentes de la spécification JSON Schema. Lors de la génération d’un Schema, choisissez la version correspondant au validateur, au framework ou au Schema déjà utilisé dans votre projet. Si aucune version précise n’est imposée, vous pouvez commencer avec Draft 2020-12 puis l’adapter à votre environnement d’exécution.

Pourquoi certains champs deviennent-ils required ?

Lorsque l’option permettant de rendre tous les champs required est activée, l’outil ajoute les champs présents dans les objets JSON au tableau required, ce qui indique qu’ils doivent exister lors de la validation. Lorsque l’option est désactivée, les champs ne sont pas ajoutés automatiquement à required. Notez que required indique l’existence d’une propriété et ne signifie pas que sa valeur ne peut pas être vide.

Qu’est-ce que additionalProperties ?

additionalProperties contrôle si un objet peut contenir des propriétés qui ne sont pas définies dans le Schema. Lorsqu’elles sont autorisées, l’objet peut contenir des champs non définis ; lorsqu’elles sont interdites, les propriétés supplémentaires sont considérées comme non autorisées par le Schema lors de la validation. Lors de la génération du Schema, choisissez cette option selon le niveau de contrôle requis par votre API ou votre structure de données.

Comment générer des objets et tableaux imbriqués ?

Pour les objets imbriqués, l’outil continue de générer la structure correspondante de properties. Pour les tableaux, il génère une définition items à partir de leurs éléments. Les objets contenus dans les tableaux sont également analysés, avec leurs champs et leurs niveaux d’imbrication, ce qui permet de créer rapidement un Schema structurel à partir d’un exemple JSON réel.

Pourquoi le Schema généré n’est-il qu’une règle initiale ?

La génération automatique ne peut déduire la structure qu’à partir de l’exemple fourni et ne permet pas de déterminer avec précision toutes les règles métier. Par exemple, le fait qu’un champ soit actuellement numérique ne signifie pas qu’il devra toujours respecter une plage particulière ; de même, la présence d’un champ dans l’exemple ne signifie pas nécessairement qu’il sera obligatoire dans tous les cas. Après la génération, il est recommandé d’ajouter, selon les règles réelles de l’application, des contraintes de format, de plage, d’énumération et des descriptions de champs.

Comment générer un Schema à partir d’un fichier JSON local ?

Passez à l’onglet de téléversement de fichiers, puis faites glisser le fichier JSON dans la zone prévue ou sélectionnez-le depuis votre ordinateur. Le fichier est lu et analysé dans le navigateur, puis le résultat est affiché directement dans la page. Il n’est pas nécessaire d’envoyer le fichier au serveur. Le Schema généré peut être copié ou téléchargé pour être utilisé ensuite dans la validation d’API ou la configuration de projets.

Comment utiliser le Schema généré ?

Le Schema généré peut être enregistré comme fichier JSON et utilisé avec un validateur compatible avec JSON Schema. Lors de son intégration dans un projet, vérifiez la version Draft utilisée ainsi que les mots-clés pris en charge par le validateur concerné. Si vous devez vérifier qu’un JSON respecte le Schema généré, vous pouvez utiliser l’outil Validation JSON Schema.

Comment générer automatiquement un JSON Schema à partir d’un JSON ?

Collez vos données JSON dans l’outil, choisissez la version Draft de JSON Schema ainsi que les options required et additionalProperties, puis générez le Schema. L’outil déduit automatiquement sa structure à partir des données JSON fournies.

Le résultat convient comme première version pour la validation d’API, la validation des données ou la configuration de projets. Avant une utilisation en production, ajoutez les contraintes de format, de plage, d’énumération et autres règles métier nécessaires.

  • Déduit automatiquement les types objet, tableau, chaîne, nombre, booléen et null à partir des données JSON
  • Génère properties et items à partir des structures d’objets et de tableaux imbriqués
  • Prend en charge JSON Schema Draft 2020-12 et Draft-07
  • Permet de choisir si tous les champs des objets d’entrée doivent être définis comme required
  • Permet de choisir si les objets peuvent contenir des propriétés supplémentaires non définies dans le Schema
  • Traitement entièrement local dans le navigateur, sans envoi des données au serveur
Si vous disposez déjà d’un JSON Schema et souhaitez vérifier des données, utilisez Validation JSON Schema. Pour rechercher des champs JSON, utilisez Requête JSONPath. Pour comparer la structure et le contenu de deux JSON, utilisez JSON Diff.
Commentaires 0
Aucun commentaire pour le moment. Soyez le premier à commenter !
avatar
Le contenu du commentaire ne peut pas être vide
0/255