Générateur de schéma Zod depuis JSON en ligne
Générez un schéma Zod à partir d’un exemple JSON instantanément dans votre navigateur. Votre JSON reste sur votre appareil.
Votre JSON est analysé et converti en schéma Zod entièrement dans votre navigateur, il reste donc sur votre appareil et rien n’est téléversé vers un serveur.
Besoin de simples interfaces TypeScript ? Essayez JSON vers TypeScript.
À propos de JSON vers Zod
Ce convertisseur json vers zod transforme un objet ou tableau JSON d’exemple en schéma Zod prêt à l’emploi en quelques secondes. Collez une vraie réponse d’API et il infère chaque valeur : les chaînes deviennent z.string(), les nombres entiers z.number().int(), les décimaux z.number(), les booléens z.boolean() et null z.null(). Les tableaux deviennent z.array() avec leurs formes d’éléments unifiées, et les objets imbriqués se transforment en appels z.object({...}) imbriqués pour que le schéma reflète exactement vos données. Il est conçu pour les développeurs TypeScript qui veulent un générateur de schéma zod rapide plutôt que d’écrire des validateurs à la main, que vous câbliez la validation d’un formulaire, typiez un endpoint ou génériez zod depuis json en explorant une charge utile inconnue. Nommez le schéma racine et exportez éventuellement un type inféré. Tout s’exécute localement dans votre navigateur, le JSON que vous collez est traité sur votre appareil et rien n’est téléversé vers un serveur.
Fonctionnalités
- Génère un schéma Zod nommé depuis tout objet ou tableau JSON
- Infère z.string(), z.number(), z.boolean() et z.null() depuis votre exemple
- Détecte les nombres entiers et émet z.number().int() pour eux
- Transforme les objets imbriqués en appels z.object({...}) imbriqués
- Enveloppe les tableaux dans z.array() et unifie les éléments mixtes en z.union()
- Exporte éventuellement un type inféré avec z.infer<typeof Schema>
- Vous laisse renommer le schéma racine et affiche les erreurs d’analyse JSON en ligne
- Copiez le schéma ou téléchargez-le sous forme de fichier .ts
Comment utiliser JSON vers Zod
- Collez votre objet ou tableau JSON dans la zone de saisie.
- Définissez le nom du schéma, ou laissez Schema.
- Activez ou désactivez l’export du type inféré selon vos besoins.
- Examinez le schéma Zod généré, puis copiez-le ou téléchargez-le sous forme de fichier .ts.
Exemple
Entrée
{ "id": 1, "name": "Ada", "tags": ["a", "b"] }
Sortie
export const Schema = z.object({
id: z.number().int(),
name: z.string(),
tags: z.array(z.string()),
});
Un objet JSON plat devient un schéma z.object typé.
Erreurs courantes et dépannage
- La sortie affiche une bannière Invalid JSON avec une ligne et une colonne. — Le JSON a un problème de syntaxe tel qu’une virgule en trop, des apostrophes simples ou une clé sans guillemets. Corrigez-le à la ligne et la colonne signalées, puis le schéma se régénère.
- Un champ ressort en z.array(z.unknown()) au lieu d’un vrai type d’élément. — Ce tableau était vide dans votre exemple, donc aucun type d’élément n’a pu être inféré. Incluez au moins un élément et le schéma inférera z.array() de sa forme.
- Un nombre entier a été typé z.number().int() mais vous vouliez un simple z.number(). — Les entiers sont détectés comme z.number().int() à partir de l’exemple. Modifiez la ligne générée en z.number() si le champ peut aussi contenir des décimaux.
- Une propriété d’objet est ressortie en z.null(). — Toutes les valeurs d’exemple de cette clé étaient null. Fournissez un exemple avec une vraie valeur, ou enveloppez vous-même le champ dans .nullable() une fois son type concret connu.
Foire aux questions
- Que fait le générateur JSON vers Zod ?
- Il lit un objet ou tableau JSON d’exemple et produit un schéma Zod correspondant en TypeScript, en inférant un z.string(), z.number(), z.boolean(), z.null(), z.array() ou z.object() pour chaque valeur afin que vous puissiez l’intégrer directement dans votre base de code.
- Prend-il en charge Zod v4 ?
- Oui. Le schéma utilise les constructeurs de base z.string(), z.number(), z.boolean(), z.null(), z.array() et z.object(), identiques dans Zod v3 et v4, donc la sortie fonctionne avec l’une ou l’autre version une fois z importé depuis zod.
- Comment les champs optionnels ou nullables sont-ils gérés ?
- Les champs qui valent null dans l’exemple deviennent z.null(). Comme un seul exemple ne peut pas indiquer quelles clés sont optionnelles, rien n’est marqué .optional() automatiquement — ajoutez vous-même .optional() ou .nullable() là où un champ peut être absent ou null.
- Comment distingue-t-il les entiers des flottants ?
- Les nombres entiers de votre exemple deviennent z.number().int() et les nombres avec une partie décimale deviennent z.number(). Si un champ peut contenir les deux, remplacez la ligne générée par z.number() pour qu’il accepte l’un ou l’autre.
- Comment les objets et tableaux imbriqués sont-ils convertis ?
- Les objets imbriqués deviennent des appels z.object({...}) imbriqués pour que le schéma reflète votre JSON, et les tableaux deviennent z.array() avec le schéma d’élément à l’intérieur. Un tableau vide devient z.array(z.unknown()).
- Mon JSON est-il envoyé quelque part lorsque je génère le schéma Zod ?
- Non. La conversion JSON vers Zod s’exécute entièrement dans votre navigateur, les données que vous collez sont traitées localement et ne quittent jamais votre appareil.
Outils associés
- JSON vers TypeScript — Génère des interfaces TypeScript à partir d’un échantillon JSON.
- JSON vers code — Génère des types Go, Rust, Python, Java, Kotlin, C# et TypeScript à partir de JSON.
- JSON Schema — Générez un JSON Schema depuis un échantillon ou validez avec ajv.
- Formateur JSON — Embellit, minifie et valide le JSON avec la localisation des erreurs.
- JSON vers Pydantic — Générez des classes de modèle Pydantic v2 à partir d’un exemple JSON.
- Visionneuse JSON — Visionneuse texte et arbre repliable avec développer/réduire et chemins de nœuds.
Tous les outils ArrayKit