Convertitore JSON in Zod โ Genera schemi
Converti JSON in schemi Zod online con oggetti annidati, array, campi opzionali e nullable e tipi TypeScript z.infer. Gratis, istantaneo e privato.
๐ Funziona interamente nel tuo browser โ nulla viene caricatoSchemi Zod generati dal JSON
I tipi TypeScript scompaiono a runtime, quindi i dati provenienti da un'API, da un modulo o da localStorage sono sicuri solo quanto il codice che li controlla. Zod colma questa lacuna validando i valori rispetto a uno schema e deducendo il tipo TypeScript dallo stesso schema. Questo convertitore da JSON a Zod scrive lo schema per te: incolla un esempio JSON e ogni oggetto diventa un z.object, i primitivi corrispondono a z.string(), z.number() e z.boolean(), gli array diventano z.array(...) e gli oggetti annidati ottengono schemi con nome proprio, riutilizzati ovunque compaiano.
Lo strumento si basa su quicktype, che unisce ogni elemento di ciascun array prima di dedurre i tipi. I campi presenti solo in alcuni elementi vengono marcati come opzionali e i valori a volte null come nullable, cosรฌ lo schema accetta i dati reali che hai visto e non soltanto il primo elemento.
Schemi e tipi dedotti insieme
Per impostazione predefinita l'output esporta anche un tipo TypeScript per ogni schema tramite z.infer, offrendoti un'unica fonte di veritร per validazione e tipizzazione statica. Importa lo schema radice e chiama RootSchema.parse(data) per validare un valore non attendibile e ottenere un risultato tipizzato, oppure safeParse quando vuoi gestire gli errori senza eccezioni. Seleziona Schemas only se preferisci dichiarare i tipi altrove. ร un compagno naturale dello strumento Da JSON a TypeScript quando ti servono garanzie a runtime, non solo suggerimenti in fase di compilazione.
Consigli per schemi piรน rigorosi
Genera da un esempio rappresentativo con piรน elementi per array e campi opzionali compilati. Poi affina ciรฒ che un esempio non puรฒ mostrare: aggiungi .email(), .url() o .uuid() ai campi stringa, usa z.enum per i campi con un insieme fisso di valori, vincola i numeri con .int() o .min() e decidi se le chiavi sconosciute debbano essere rimosse o rifiutate con .strict(). Tutta la generazione avviene in locale, quindi puoi incollare in sicurezza payload di produzione.
Come usare
- Incolla il JSONIncolla una risposta API o un qualsiasi esempio JSON, oppure clicca su Load sample.
- Dai un nome alla radiceImposta il nome dello schema radice e decidi se includere i tipi dedotti.
- Copia gli schemiCopia il codice TypeScript o scarica un file .ts e valida con schema.parse().
Domande frequenti
Cosa contiene l'output?
z.infer. Seleziona Schemas only per saltare gli alias di tipo.Come vengono gestiti i campi opzionali e nullable?
.optional() o .nullable(), cosรฌ la validazione accetta le variazioni osservate nei dati reali.Quale versione di Zod รจ supportata?
z.object, z.array, z.string e z.number, che funzionano sia in Zod 3 sia in Zod 4.