DT Dev Tools

JSON zu Zod Konverter — Schemas generieren

JSON online in Zod-Schemas umwandeln: mit verschachtelten Objekten, Arrays, optionalen und nullable Feldern sowie z.infer-TypeScript-Typen. Kostenlos und privat.

🔒 LĂ€uft vollstĂ€ndig in Ihrem Browser — nichts wird hochgeladen

Werbung

Zod-Schemas, erzeugt aus JSON

TypeScript-Typen verschwinden zur Laufzeit, daher sind Daten aus einer API, einem Formular oder localStorage nur so sicher wie der Code, der sie prĂŒft. Zod schließt diese LĂŒcke, indem es Werte gegen ein Schema validiert und den TypeScript-Typ aus demselben Schema ableitet. Dieser JSON-zu-Zod-Konverter schreibt das Schema fĂŒr Sie: FĂŒgen Sie ein JSON-Beispiel ein, und jedes Objekt wird zu einem z.object, Primitive werden zu z.string(), z.number() und z.boolean(), Arrays zu z.array(...), und verschachtelte Objekte erhalten eigene benannte Schemas, die ĂŒberall wiederverwendet werden, wo sie vorkommen.

Das Tool basiert auf quicktype, das alle Elemente jedes Arrays zusammenfĂŒhrt, bevor es Typen ableitet. Felder, die nur in einigen EintrĂ€gen vorkommen, werden als optional markiert, und Werte, die manchmal null sind, als nullable – das Schema akzeptiert also die echten Daten, die Sie gesehen haben, und nicht nur das erste Element.

Schemas und abgeleitete Typen zusammen

StandardmĂ€ĂŸig exportiert die Ausgabe zu jedem Schema auch einen TypeScript-Typ per z.infer und liefert so eine einzige Quelle der Wahrheit fĂŒr Validierung und statische Typisierung. Importieren Sie das Root-Schema und rufen Sie RootSchema.parse(data) auf, um einen nicht vertrauenswĂŒrdigen Wert zu validieren und ein typisiertes Ergebnis zu erhalten, oder safeParse, wenn Sie Fehler ohne Exceptions behandeln möchten. Aktivieren Sie Schemas only, wenn Sie Typen lieber anderswo deklarieren. Das ist eine natĂŒrliche ErgĂ€nzung zum Tool JSON zu TypeScript, wenn Sie Laufzeitgarantien statt nur Hinweise zur Kompilierzeit benötigen.

Tipps fĂŒr strengere Schemas

Erzeugen Sie das Schema aus einem reprĂ€sentativen Beispiel mit mehreren Array-Elementen und ausgefĂŒllten optionalen Feldern. Verfeinern Sie dann, was ein Beispiel nicht zeigen kann: ErgĂ€nzen Sie .email(), .url() oder .uuid() bei String-Feldern, nutzen Sie z.enum fĂŒr Felder mit festem Wertevorrat, beschrĂ€nken Sie Zahlen mit .int() oder .min() und entscheiden Sie, ob unbekannte SchlĂŒssel entfernt oder mit .strict() abgelehnt werden sollen. Die gesamte Erzeugung lĂ€uft lokal, daher können Sie bedenkenlos Produktiv-Payloads einfĂŒgen.

So verwenden Sie

  1. JSON einfĂŒgenFĂŒgen Sie eine API-Antwort oder ein beliebiges JSON-Beispiel ein oder klicken Sie auf Load sample.
  2. Root benennenLegen Sie den Namen des Root-Schemas fest und entscheiden Sie, ob abgeleitete Typen enthalten sein sollen.
  3. Schemas kopierenKopieren Sie den TypeScript-Code oder laden Sie eine .ts-Datei herunter und validieren Sie mit schema.parse().

HĂ€ufig gestellte Fragen

Was enthÀlt die Ausgabe?
Ein Zod-Schema fĂŒr jedes Objekt in Ihrem JSON plus mit z.infer abgeleitete TypeScript-Typen. Aktivieren Sie Schemas only, um die Typ-Aliase wegzulassen.
Wie werden optionale und nullable Felder behandelt?
Felder, die in einigen Beispielen fehlen oder null sind, erhalten .optional() oder .nullable(), sodass die Validierung die in echten Daten gesehenen Varianten akzeptiert.
Welche Zod-Version wird unterstĂŒtzt?
Die Schemas nutzen die Kern-APIs z.object, z.array, z.string und z.number, die in Zod 3 und Zod 4 funktionieren.
Wird mein JSON hochgeladen?
Nein. Die Schemas werden vollstÀndig in Ihrem Browser erzeugt.
Werbung