JSON naar Zod schema converter — Schema's genereren
Zet JSON om naar Zod-schema's met geneste objecten, arrays, optionele en nullable velden plus z.infer TypeScript-typen. Gratis, direct en privé.
🔒 Draait volledig in je browser — niets wordt geüploadZod-schema's gegenereerd uit JSON
TypeScript-typen verdwijnen tijdens runtime, dus data uit een API, een formulier of localStorage is maar zo veilig als de code die haar controleert. Zod dicht die kloof door waarden te valideren aan de hand van een schema en het TypeScript-type uit datzelfde schema af te leiden. Deze JSON naar Zod converter schrijft het schema voor je: plak een JSON-voorbeeld en elk object wordt een z.object, primitieven worden z.string(), z.number() en z.boolean(), arrays worden z.array(...) en geneste objecten krijgen eigen benoemde schema's die overal worden hergebruikt waar ze voorkomen.
De tool draait op quicktype, dat elk element van elke array samenvoegt voordat het typen afleidt. Velden die maar in sommige items voorkomen, worden als optioneel gemarkeerd en waarden die soms null zijn als nullable, zodat het schema de echte data accepteert die je zag en niet alleen het eerste element.
Schema's en afgeleide typen samen
Standaard exporteert de uitvoer ook een TypeScript-type voor elk schema met z.infer, zodat je één bron van waarheid hebt voor validatie en statische typering. Importeer het rootschema en roep RootSchema.parse(data) aan om een onbetrouwbare waarde te valideren en een getypeerd resultaat te krijgen, of safeParse als je fouten zonder excepties wilt afhandelen. Vink Schemas only aan als je typen liever elders declareert. Dit is een natuurlijke aanvulling op de tool JSON naar TypeScript wanneer je runtimegaranties nodig hebt en niet alleen hints tijdens het compileren.
Tips voor strengere schema's
Genereer uit een representatief voorbeeld met meerdere arrayitems en ingevulde optionele velden. Verfijn daarna wat een voorbeeld niet kan tonen: voeg .email(), .url() of .uuid() toe aan stringvelden, gebruik z.enum voor velden met een vaste set waarden, beperk getallen met .int() of .min() en bepaal of onbekende sleutels moeten worden verwijderd of geweigerd met .strict(). Alle generatie gebeurt lokaal, dus je kunt veilig productiepayloads plakken.
Hoe te gebruiken
- Plak JSONPlak een API-antwoord of een willekeurig JSON-voorbeeld, of klik op Load sample.
- Geef de root een naamStel de naam van het rootschema in en bepaal of je afgeleide typen wilt opnemen.
- Kopieer de schema'sKopieer de TypeScript-code of download een .ts-bestand en valideer met schema.parse().
Veelgestelde vragen
Wat bevat de uitvoer?
z.infer worden afgeleid. Vink Schemas only aan om de typealiassen over te slaan.Hoe worden optionele en nullable velden behandeld?
.optional() of .nullable(), zodat de validatie de variaties uit echte data accepteert.Welke Zod-versie wordt ondersteund?
z.object, z.array, z.string en z.number, die in zowel Zod 3 als Zod 4 werken.