JSON vers schéma Zod
Générez un schéma de validation Zod et des types TypeScript à partir d'un exemple JSON, avec détection de formats et d'énumérations.
JSON vers schéma Zod
Collez un exemple JSON — une réponse API, un fichier de configuration, une ligne de base de données — et obtenez un schéma Zod prêt à l'emploi en TypeScript. Les types sont déduits par champ : les primitives sont mappées à z.string(), z.number() et z.boolean(), les tableaux ont leur type d'élément déduit, et une valeur qui diffère entre les occurrences devient un z.union(). Une chaîne qui ressemble à une adresse e-mail, une URL, un UUID ou une date ISO obtient le validateur correspondant — .email(), .url(), .uuid(), .date() ou .datetime() — au lieu d'un simple z.string().
Donnez-lui un tableau d'objets de même forme, comme les lignes d'un endpoint de liste, et le générateur fusionne chaque élément avant de typer le champ : une clé manquante dans certaines lignes devient .optional(), une clé parfois nulle devient .nullable() ou .optional() selon le paramètre que vous choisissez, et un champ qui répète un petit ensemble de valeurs — une colonne d'état ou de rôle — devient un z.enum() approprié au lieu d'une chaîne ouverte. Activez « Diviser les objets imbriqués » pour extraire chaque objet imbriqué dans sa propre exportation nommée au lieu d'un littéral profondément imbriqué, où les formes identiques partagent automatiquement un schéma. Activez « Objets stricts » pour rejeter toute clé que l'exemple n'a jamais affichée, en détectant les fautes de frappe et les champs API inattendus lors de l'analyse au lieu de plus tard.
Nommez le schéma exporté comme votre code s'y attend et, éventuellement, ajoutez export type X = z.infer<typeof X> juste en dessous, pour que le validateur d'exécution et le type de compilation proviennent de la même source et ne puissent jamais diverger silencieusement.
Tout s'exécute localement dans votre navigateur. Le JSON que vous collez — les réponses API contenant des jetons, les enregistrements utilisateur, les charges utiles internes — est analysé et typé entièrement sur votre appareil et n'est jamais téléchargé nulle part. Collez un exemple, copiez le schéma généré dans votre projet et commencez à valider ce que vous analysez.