Sviluppatore / Tipi
Convertitore da JSON a schema Zod
Genera uno schema Zod e il relativo tipo TypeScript da un esempio JSON, con oggetti annidati, array, campi facoltativi e nullable e numeri interi.
Convertitore da JSON a schema Zod: Ogni oggetto nell'esempio diventa uno schema z.object, esportato insieme a un tipo inferito, mentre gli oggetti annidati ricevono schemi denominati propri. Gli oggetti in un array vengono uniti: alle chiavi mancanti in alcuni oggetti viene aggiunto .optional(), alle chiavi che a volte hanno valore null viene aggiunto .nullable() e ai numeri interi viene aggiunto .int(). Gli schemi generati sono stati verificati analizzando con Zod i relativi esempi. Funziona al 100% localmente nel browser, senza caricare file sul server.
- Categoria
- Strumenti per sviluppatori
- Esecuzioni
- Nel browser
- Costo
- Gratuito · senza registrazione
- Disponibilità
- Pronto all'uso
Funziona interamente nel browser
TypeScript
import { z } from "zod";
export const AddressSchema = z.object({
city: z.string(),
zip_code: z.string(),
});
export type Address = z.infer<typeof AddressSchema>;
export const UserSchema = z.object({
id: z.number().int(),
user_name: z.string(),
avatar_url: z.string(),
score: z.number(),
tags: z.array(z.string()),
address: AddressSchema,
manager_id: z.number().int().nullable(),
nickname: z.string().optional(),
});
export type User = z.infer<typeof UserSchema>;
export const UserListSchema = z.array(UserSchema);
Ogni oggetto riceve uno schema e un tipo inferito. Le chiavi mancanti in alcuni oggetti ricevono .optional(), quelle che a volte sono null ricevono .nullable() e i numeri interi ricevono .int(); allenta qualsiasi regola che la tua API non garantisce.
Usare lo schema
Chiama Schema.parse(data) per validare e generare un errore in caso di dati non validi, oppure Schema.safeParse(data) per ottenere un risultato che puoi controllare senza usare try e catch. Il tipo esportato, ottenuto da z.infer, resta sincronizzato con lo schema mentre lo modifichi.
Se ti servono solo i tipi a tempo di compilazione, JSON to TypeScript fornisce semplici interfacce; per validare i dati rispetto a uno JSON Schema esistente, usa il validatore JSON Schema.
Rendere più precise le regole generate
L'esempio mostra solo ciò che contiene, quindi considera lo schema un punto di partenza: aggiungi .email(), .url() o .datetime() alle stringhe quando necessario, z.enum([...]) ai campi con un insieme fisso di valori e .min() o .max() quando i tuoi dati hanno dei limiti.
Come usarlo
- Incolla un esempio JSON, idealmente un array con diversi record rappresentativi.
- Assegna un nome al tipo principale.
- Copia gli schemi e usali per validare i dati durante l'esecuzione.
Privacy e limitazioni
Il JSON viene convertito nel tuo browser e non viene mai caricato.
Strumenti correlati
Domande frequenti
Perché usare Zod invece di un'interfaccia TypeScript?
Un'interfaccia scompare quando il codice viene compilato, quindi non può verificare i dati durante l'esecuzione; uno schema Zod controlla i dati e ti fornisce lo stesso tipo con z.infer.
I numeri interi devono davvero avere .int()?
Solo se la tua API garantisce numeri interi. Se un prezzo o un punteggio può avere una parte frazionaria, rimuovi .int() anche quando l'esempio contiene solo numeri interi.
Gestisce stringhe come date o indirizzi email?
Vengono tipizzate come z.string(); aggiungi raffinamenti come .email(), .url() o un controllo della data dove i tuoi dati lo richiedono.
Strumento gratuito · nel browser esecuzioni · senza account