JSON na Zod shemu
Generirajte Zod validacijsku shemu i TypeScript tipove iz JSON uzorka, s otkrivanjem formata i enumeracija.
JSON na Zod shemu
Zalijepite JSON uzorak — odgovor API-ja, datoteku konfiguracije, red baze podataka — i dobijte gotovu Zod shemu u TypeScript-u. Tipovi se zaključuju po polju: primitivci se mapiraju na z.string(), z.number() i z.boolean(), polja s poljima imaju zaključeni tip elementa, a vrijednost koja se razlikuje između pojavljivanja postaje z.union(). Niz koji izgleda kao e-mail adresa, URL, UUID ili ISO datum dobiva odgovarajući validacijski kod — .email(), .url(), .uuid(), .date() ili .datetime() — umjesto običnog z.string().
Dajte mu niz objekata istog oblika, kao što su redovi iz krajnje točke popisa, a generator spaja svaki element prije tipiziranja polja: ključ koji nedostaje u nekim redovima postaje .optional(), ključ koji je ponekad null postaje .nullable() ili .optional() ovisno o odabranoj postavci, i polje koje ponavlja mali skup vrijednosti — stupac statusa ili uloge — postaje pravilno z.enum() umjesto otvorenog niza. Uključite „Podijeli ugniježđene objekte“ da biste izvukli svaki ugniježđeni objekt u vlastiti pojmovni izvoz umjesto jedne duboko ugniježđene doslovno vrijednosti, gdje identični oblici automatski dijele jednu shemu. Uključite „Stroga objekca“ da odbijete bilo koji ključ koji uzorak nikada nije pokazao — korisno za hvatanje tipfelera i neočekivanih API polja pri parsiranju umjesto kasnije u toku.
Navedite izvezenu shemu kako vaš kod očekuje, i po želji dodajte export type X = z.infer<typeof X> odmah ispod nje, tako da validacijski kod u vrijeme izvođenja i tip u vrijeme kompajliranja dolaze iz istog izvora i nikad se ne mogu tiho razdvojiti.
Sve se izvršava lokalno u vašem pregledniku. JSON koji zalijepite — odgovore API-ja koje sadrže tokene, korisnički zapise, interne terete — parsira se i tipizira potpuno na vašoj uređaju i nikad se ne prenose nigdje. Zalijepite uzorak, kopirajte generiranu shemu u svoj projekt i počnite validirati ono što parsirali.