Command Palette

Search for a command to run...

GÉ

Générateur de schéma JSON

Générez un schéma JSON à partir de n'importe quel exemple JSON. Déduit les types, fusionne les tableaux d'objets dans un schéma d'élément, dérive les champs obligatoires et détecte les formats date-heure, e-mail, URI et UUID. Draft-07 et 2020-12. 100% côté client.

Quel est le générateur de schéma JSON ?

Le générateur de schéma JSON lit un exemple de valeur JSON - une réponse API, un fichier de configuration, une charge utile de webhook - et écrit un schéma JSON qui le valide. Il infère le type de chaque champ, fusionne un tableau d'objets en un seul schéma d'élément plutôt qu'en une union bruyante, dérive quelles clés sont requises de celles présentes dans chaque enregistrement et peut marquer les formats de chaînes tels que date-heure, e-mail, uri et uid. Vous collez les données que vous possédez déjà ; vous obtenez le schéma que vous écririez autrement à la main clause par clause.

Écrire un schéma à la main est lent et facile à se tromper subtilement Il est tentant de taper ce que vous pensez qu'une charge utile contient, manquer un champ imbriqué, marquer une propriété occasionnellement nulle comme requis, ou oublier qu'un point de terminaison renvoie un tableau où un autre renvoie un seul objet Un schéma généré directement à partir de données réelles part de la forme réelle, donc le document que vous validez correspond à ce que le service envoie véritablement De là vous resserrez les contraintes - motifs, enuméros, minimums - à la main, mais le fastidieux échafaudage est fait.

Tout tourne dans votre navigateur Le moteur d'inférence est TypeScript sans dépendance, pas un wrapper autour d'une API hébergée, donc les charges utiles - qui transportent régulièrement des jetons, des e-mails et des ID internes - ne quittent jamais la page Choisissez Draft-07 ou le dialecte 2020-12, ajoutez un titre, basculez la détection de champ requis, la détection de format et le strict`additionalProperties`, puis copiez le schéma ou téléchargez-le sous forme de fichier.json.

Le schéma décrit votre échantillon plutôt que votre intention, alors traitez la sortie comme une première ébauche : les champs obligatoires sont déduits de ce qui se trouve être présent et les formats sont détectés par modèle, donc une chaîne qui ressemble à une date est saisie comme une seule même. lorsqu'il s'agit d'un identifiant qui n'en ressemble qu'à un.

Voici un exemple travaillé du générateur de schéma JSON de JSON avec plus d'un enregistrement Coller [{« id » :1« e-mail » : « [email protected] », « nick » : « x »}, {« id » :2 « e-mail » : nul}] et appuyer sur Générer La sortie est un schéma de tableau dont les éléments ont id comme entier, e-mail comme [ » chaîne « , » nul « ] et nick comme chaîne, avec nécessaire défini sur id et email, car nick est absent du deuxième enregistrement L'en-tête lit 3 propriétés, 2 requis, profondeur 2, 219 octets. C'est le travail de n'enregistrement JSON peut être ajouté à un générateur JSON ou un enregistrement JSON : est requis.

Comment utiliser le générateur de schéma JSON ?

  1. Collez votre JSON

    Déposez une réponse API, un luminaire ou une valeur JSON. Chargez d'abord l'exemple pour voir comment les objets imbriqués, les tableaux d'objets et les formats de chaîne sont gérés.

  2. Choisissez le dialecte

    Choisissez Draft-07 pour le support d'outillage le plus large ou 2020-12 pour la spécification actuelle. L'URI $schéma correct est écrit sur la sortie pour vous.

  3. Définissez vos options

    Ajoutez un titre facultatif, décidez s'il faut émettre un tableau requis, détecter les formats de chaîne et verrouiller les objets avec des propriétés supplémentaires : false pour une validation stricte.

  4. Générer, puis copier ou télécharger

    Appuyez sur Générer. Vérifiez les types de données et les champs obligatoires, puis copiez le schéma dans votre presse-papiers ou téléchargez-le sous la forme d'un fichier .json prêt à être déposé dans votre validateur.

Principales caractéristiques

  • Draft-07 et 2020-12

    Émettez le dialecte Draft-07 largement pris en charge ou la spécification actuelle 2020-12. L'identifiant de schéma $ correspondant est écrit sur la racine afin que les validateurs choisissent les bonnes règles.

  • Fusion de réseau intelligent

    Un tableau d'objets devient un schéma d'éléments uniques décrivant un élément, et non un tentaculaire. Les clés présentes dans chaque élément sont requises ; les clés qui apparaissent dans certaines sont laissées en option.

  • Inférence de champ obligatoire

    Le générateur dérive le tableau requis à partir des clés présentes dans chaque objet qu'il voit, ce qui correspond exactement au comportement des données paginées réelles - certains champs sont toujours là, d'autres non.

  • Détection de format de chaîne

    Reconnaît les chaînes de date-heure, date, heure, e-mail, URI, UUID et IPv4 et les tagne avec le mot-clé de format approprié, vous donnant une validation que vous ajouteriez autrement à la main.

Frequently Asked Questions

Collez votre JSON dans l'éditeur, choisissez Draft-07 ou 2020-12 et appuyez sur Générer L'outil infère le type de chaque champ, extrait les clés requises et génère un schéma que vous pouvez copier directement dans un validateur Rien n'est téléchargé - l'inférence s'exécute entièrement dans votre navigateur.

Comments

0 comments

0/2000 characters

No comments yet. Be the first to share your thoughts!

json schema generatorjson to json schema generatorjson schema generator from jsonjson to schema generatorjson to json schema generator onlinegenerate json schemajson to json schemajson schema from jsonjson schema draft-07json schema 2020-12infer json schemajson validation schemajson schema builder