JSON v Zod shemo
Generirajte Zod validacijsko shemo in TypeScript tipe iz JSON vzorca s odkrivanjem formatov in naštevanja.
JSON v Zod shemo
Prilepite JSON vzorec — odgovor API-ja, konfiguracijsko datoteko, vrstico podatkovne baze — in dobijte pripravljeno Zod shemo v TypeScript-u. Vrste so izpeljane po polju: primitivi se preslikavajo v z.string(), z.number() in z.boolean(), polja s seznami imajo izpeljano vrsto elementa, in vrednost, ki se razlikuje med pojavitvami, postane z.union(). Niz, ki izgleda kot e-poštni naslov, URL, UUID ali datum ISO, dobi ustrezni validacijski kod — .email(), .url(), .uuid(), .date() ali .datetime() — namesto preprostega z.string().
Dajte mu niz objektov enake oblike, kot so vrstice iz končne točke seznama, in generator zlije vsak element pred tipizacijo polja: ključ, ki manjka v nekaterih vrstah, postane .optional(), ključ, ki je včasih nična vrednost, postane .nullable() ali .optional() odvisno od izbrane nastavitve, in polje, ki ponavlja majhen niz vrednosti — stolpec stanja ali vloge — postane pravilno z.enum() namesto odprtega niza. Vključite „Razdeli ugnezdene objekte“ za izločanje vsakega ugnezdenega objekta v svojo poimenovano izvozite namesto ene globoko ugnezdene dobesede, kjer enake oblike samodejno delijo eno shemo. Vključite „Strogi objekti“ za zavrnitev katerega koli ključa, ki ga vzorec ni nikoli pokazal — koristno za ujemanje tipkarskih napak in nepričakovanih polj API pri razčlembi namesto kasneje v toku.
Navedite izvoženo shemo, kot jo pričakuje vaša koda, in po želji dodajte export type X = z.infer<typeof X> takoj spodaj, tako da validacijski kod med izvajanjem in tip med prevajanjem izhajata iz istega vira in se nikoli ne moreta tiho razlikujeta.
Vse teče lokalno v vašem brskalniku. JSON, ki ga prilepite — odgovore API-ja z žetoni, uporabniške zapise, notranje bremene — se razčleni in tipizira povsem na vaši napravi in se nikoli ne naloži nikamor. Prilepite vzorec, kopirajte generirano shemo v svoj projekt in začnite preverjati, kaj razčlenjujete.