DT Dev Tools

Convertir JSON en Zod — GĂ©nĂ©rateur de schĂ©mas

Convertissez du JSON en schémas Zod en ligne : objets imbriqués, tableaux, champs optionnels et nullables, plus types TypeScript z.infer. Gratuit et privé.

🔒 S'exĂ©cute entiĂšrement dans votre navigateur — rien n'est envoyĂ©

Publicité

Des schémas Zod générés à partir de JSON

Les types TypeScript disparaissent Ă  l'exĂ©cution : les donnĂ©es issues d'une API, d'un formulaire ou de localStorage ne sont donc sĂ»res que dans la mesure oĂč le code qui les vĂ©rifie l'est. Zod comble ce manque en validant les valeurs par rapport Ă  un schĂ©ma et en infĂ©rant le type TypeScript Ă  partir de ce mĂȘme schĂ©ma. Ce convertisseur JSON vers Zod Ă©crit le schĂ©ma pour vous : collez un exemple de JSON et chaque objet devient un z.object, les primitives correspondent Ă  z.string(), z.number() et z.boolean(), les tableaux deviennent z.array(...), et les objets imbriquĂ©s reçoivent leurs propres schĂ©mas nommĂ©s, rĂ©utilisĂ©s partout oĂč ils apparaissent.

L'outil s'appuie sur quicktype, qui fusionne chaque élément de chaque tableau avant d'inférer les types. Les champs présents dans certains éléments seulement sont marqués optionnels, et les valeurs parfois null sont marquées nullables : le schéma accepte donc les vraies données observées, et pas seulement leur premier élément.

Schémas et types inférés ensemble

Par défaut, la sortie exporte aussi un type TypeScript pour chaque schéma via z.infer, ce qui donne une source unique de vérité pour la validation et le typage statique. Importez le schéma racine et appelez RootSchema.parse(data) pour valider une valeur non fiable et obtenir un résultat typé, ou safeParse pour gérer les erreurs sans exceptions. Cochez Schemas only si vous préférez déclarer les types ailleurs. C'est le complément naturel de l'outil JSON vers TypeScript lorsque vous avez besoin de garanties à l'exécution, et pas seulement d'indications à la compilation.

Conseils pour des schémas plus stricts

GĂ©nĂ©rez Ă  partir d'un exemple reprĂ©sentatif comportant plusieurs Ă©lĂ©ments de tableau et des champs optionnels renseignĂ©s. Affinez ensuite ce qu'un exemple ne peut pas montrer : ajoutez .email(), .url() ou .uuid() aux champs de type chaĂźne, utilisez z.enum pour les champs Ă  ensemble de valeurs fixe, contraignez les nombres avec .int() ou .min(), et dĂ©cidez si les clĂ©s inconnues doivent ĂȘtre supprimĂ©es ou rejetĂ©es avec .strict(). Toute la gĂ©nĂ©ration s'effectue en local : vous pouvez donc coller sans risque des charges utiles de production.

Comment utiliser

  1. Collez le JSONCollez une réponse d'API ou n'importe quel exemple JSON, ou cliquez sur Load sample.
  2. Nommez la racineDéfinissez le nom du schéma racine et décidez d'inclure ou non les types inférés.
  3. Copiez les schémasCopiez le code TypeScript ou téléchargez un fichier .ts et validez avec schema.parse().

Questions fréquemment posées

Que contient la sortie ?
Un schéma Zod pour chaque objet de votre JSON, plus des types TypeScript inférés avec z.infer. Cochez Schemas only pour omettre les alias de types.
Comment les champs optionnels et nullables sont-ils gérés ?
Les champs absents ou nuls dans certains exemples reçoivent .optional() ou .nullable(), de sorte que la validation accepte les variations observées dans les données réelles.
Quelle version de Zod est ciblée ?
Les schémas utilisent les API de base z.object, z.array, z.string et z.number, qui fonctionnent avec Zod 3 comme avec Zod 4.
Mon JSON est-il envoyé quelque part ?
Non. Les schémas sont générés entiÚrement dans votre navigateur.
Publicité