Outil Gratuit

Générateur de schéma JSON to Zod / Yup

Convertissez n'importe quel objet ou tableau JSON en schéma de validation Zod ou Yup instantanément. Gère les objets imbriqués, les tableaux, les valeurs null et les types union — tout dans votre navigateur, sans inscription requise.

JSON → Générateur de schéma Zod / Yup

Que fait cet outil ?

Cet outil lit un objet ou un tableau JSON et génère un schéma de validation runtime correspondant pour Zod ou Yup. Il gère tous les types primitifs (string, number, boolean, null), les objets imbriqués, les tableaux de tout type et les champs union-null — vous économisant l'ennui d'écrire manuellement des schémas pour les réponses API ou les charges utiles de formulaires.

Zod vs Yup

Zod est une bibliothèque de schéma orientée TypeScript qui déduit les types statiques de votre schéma, ce qui la rend idéale pour les projets TypeScript full-stack. Yup est le choix classique pour la validation de formulaires React (en particulier avec Formik), offrant une API chainable fluide. Les deux produisent une logique de validation runtime équivalente — choisissez celui que votre projet utilise déjà.

Gestion des valeurs null

Lorsqu'un champ JSON est null, l'outil ne peut pas déterminer le vrai type runtime. Dans Zod, les champs null sont générés comme z.union([z.TYPENAME(), z.null()]) ou z.null() quand aucun autre indice de type n'est disponible. Dans Yup, les champs null deviennent yup.mixed().nullable(). Activez « Champs obligatoires » pour Yup pour ajouter .required() à chaque champ.

Comment utiliser

  1. Collez un objet ou un tableau JSON dans la zone de saisie.
  2. Choisissez la sortie Zod ou Yup en utilisant le bouton bascule.
  3. Éventuellement, définissez le nom de la variable et activez le mode strict (Zod) ou les champs obligatoires (Yup).
  4. Cliquez sur Générer le schéma pour produire le code du schéma.
  5. Cliquez sur Copier pour copier le résultat dans votre presse-papiers.

Votre JSON reste dans votre navigateur — aucune donnée n'est envoyée à un serveur.

Questions Fréquemment Posées

Gère-t-il les objets imbriqués ?
Oui. Les objets imbriqués sont convertis en schémas z.object({...}) ou yup.object({...}) imbriqués en ligne — aucune déclaration de type séparée n'est nécessaire.
Que se passe-t-il avec les valeurs null ?
Les valeurs null sont représentées comme z.null() dans Zod, ou yup.mixed().nullable() dans Yup, car le vrai type sous-jacent ne peut pas être déduit de l'échantillon JSON seul.
Qu'est-ce que le mode strict Zod ?
Appeler .strict() sur un schéma d'objet Zod le fait lever une erreur de validation si l'entrée contient des clés non présentes dans le schéma. C'est utile pour les API où les champs supplémentaires inattendus doivent être rejetés.
Supporte-t-il les tableaux d'objets ?
Oui. Les tableaux d'objets génèrent z.array(z.object({...})) pour Zod ou yup.array().of(yup.object({...})) pour Yup, avec le schéma imbriqué déduit du premier élément.
Cet outil est-il gratuit ?
Oui — complètement gratuit, aucune inscription requise. Toute la génération de schéma se fait localement dans votre navigateur.