JSON zu Zod – Zod-Schema-Generator Online
Generiere ein Zod-Schema aus einem JSON-Beispiel, sofort in deinem Browser. Dein JSON bleibt auf deinem Gerät.
Dein JSON wird vollständig in deinem Browser geparst und in ein Zod-Schema konvertiert, sodass es auf deinem Gerät bleibt und nichts auf einen Server hochgeladen wird.
Brauchst du stattdessen einfache TypeScript-Interfaces? Probiere JSON zu TypeScript.
Über JSON zu Zod
Dieser JSON-zu-Zod-Konverter verwandelt ein JSON-Beispielobjekt oder -array in Sekunden in ein einsatzbereites Zod-Schema. Füge eine echte API-Antwort ein, und er leitet jeden Wert ab: Strings werden zu z.string(), Ganzzahlen zu z.number().int(), Dezimalzahlen zu z.number(), Booleans zu z.boolean() und null zu z.null(). Arrays werden zu z.array() mit vereinheitlichten Elementformen, und verschachtelte Objekte werden zu verschachtelten z.object({...})-Aufrufen, sodass das Schema deine Daten genau abbildet. Er ist für TypeScript-Entwickler gemacht, die einen schnellen Zod-Schema-Generator wollen, statt Validatoren von Hand zu schreiben – egal ob du eine Formularvalidierung verdrahtest, einen Endpunkt typisierst oder Zod aus JSON generierst, während du eine unbekannte Payload erkundest. Benenne das Root-Schema und exportiere optional einen abgeleiteten Typ. Alles läuft lokal in deinem Browser, sodass das eingefügte JSON auf deinem Gerät verarbeitet wird und nichts auf einen Server hochgeladen wird.
Funktionen
- Generiert ein benanntes Zod-Schema aus jedem JSON-Objekt oder -Array
- Leitet z.string(), z.number(), z.boolean() und z.null() aus deinem Beispiel ab
- Erkennt Ganzzahlen und gibt dafür z.number().int() aus
- Wandelt verschachtelte Objekte in verschachtelte z.object({...})-Aufrufe um
- Verpackt Arrays in z.array() und vereinheitlicht gemischte Elemente zu einer z.union()
- Exportiert optional einen abgeleiteten Typ mit z.infer<typeof Schema>
- Lässt dich das Root-Schema umbenennen und zeigt JSON-Parse-Fehler inline an
- Kopiere das Schema oder lade es als .ts-Datei herunter
So verwendest du JSON zu Zod
- Füge dein JSON-Objekt oder -Array in das Eingabefeld ein.
- Setze den Schema-Namen oder lass ihn als Schema.
- Schalte den Export des abgeleiteten Typs nach Bedarf ein oder aus.
- Prüfe das generierte Zod-Schema, dann kopiere es oder lade es als .ts-Datei herunter.
Beispiel
Eingabe
{ "id": 1, "name": "Ada", "tags": ["a", "b"] }
Ausgabe
export const Schema = z.object({
id: z.number().int(),
name: z.string(),
tags: z.array(z.string()),
});
Ein flaches JSON-Objekt wird zu einem typisierten z.object-Schema.
Häufige Fehler & Fehlerbehebung
- Die Ausgabe zeigt ein "Invalid JSON"-Banner mit Zeile und Spalte. — Das JSON hat ein Syntaxproblem wie ein nachgestelltes Komma, einfache Anführungszeichen oder einen Schlüssel ohne Anführungszeichen. Behebe es an der gemeldeten Zeile und Spalte, dann wird das Schema neu generiert.
- Ein Feld kam als z.array(z.unknown()) statt eines echten Elementtyps heraus. — Dieses Array war in deinem Beispiel leer, sodass kein Elementtyp abgeleitet werden konnte. Füge mindestens ein Element ein, und das Schema leitet z.array() seiner Form ab.
- Eine Ganzzahl wurde als z.number().int() typisiert, aber du wolltest ein einfaches z.number(). — Ganzzahlen werden aus dem Beispiel als z.number().int() erkannt. Ändere die generierte Zeile zu z.number(), wenn das Feld auch Dezimalzahlen enthalten kann.
- Eine Objekteigenschaft kam als z.null() heraus. — Jeder Beispielwert für diesen Schlüssel war null. Gib ein Beispiel mit einem echten Wert an oder verpacke das Feld selbst in .nullable(), sobald du seinen konkreten Typ kennst.
Häufig gestellte Fragen
- Was macht der JSON-zu-Zod-Generator?
- Er liest ein JSON-Beispielobjekt oder -array und erzeugt ein passendes Zod-Schema in TypeScript, indem er für jeden Wert ein z.string(), z.number(), z.boolean(), z.null(), z.array() oder z.object() ableitet, sodass du das Ergebnis direkt in deine Codebasis übernehmen kannst.
- Unterstützt er Zod v4?
- Ja. Das Schema verwendet die Kern-Konstruktoren z.string(), z.number(), z.boolean(), z.null(), z.array() und z.object(), die in Zod v3 und v4 identisch sind, sodass die Ausgabe mit beiden Versionen funktioniert, sobald du z aus zod importierst.
- Wie werden optionale oder nullbare Felder behandelt?
- Felder, die im Beispiel null sind, werden zu z.null(). Da ein einzelnes Beispiel nicht sagen kann, welche Schlüssel optional sind, wird nichts automatisch mit .optional() markiert – füge selbst .optional() oder .nullable() dort hinzu, wo ein Feld fehlen oder null sein kann.
- Wie unterscheidet er Ganzzahlen von Gleitkommazahlen?
- Ganzzahlen in deinem Beispiel werden zu z.number().int() und Zahlen mit Dezimalanteil zu z.number(). Wenn ein Feld beide enthalten kann, ändere die generierte Zeile zu z.number(), damit es beide akzeptiert.
- Wie werden verschachtelte Objekte und Arrays konvertiert?
- Verschachtelte Objekte werden zu verschachtelten z.object({...})-Aufrufen, sodass das Schema dein JSON abbildet, und Arrays werden zu z.array() mit dem Elementschema darin. Ein leeres Array wird zu z.array(z.unknown()).
- Wird mein JSON irgendwohin gesendet, wenn ich das Zod-Schema generiere?
- Nein. Die JSON-zu-Zod-Konvertierung läuft vollständig in deinem Browser, sodass die eingefügten Daten lokal verarbeitet werden und dein Gerät nie verlassen.
Verwandte Tools
- JSON zu TypeScript — Erzeuge TypeScript-Interfaces aus einer JSON-Probe.
- JSON zu Code — Erzeuge Typen für Go, Rust, Python, Java, Kotlin, C# und TypeScript aus JSON.
- JSON Schema Generator — Generiere oder validiere ein JSON Schema mit Ajv.
- JSON-Formatierer — JSON verschönern, minimieren und validieren – mit Fehlerposition.
- JSON zu Pydantic — Generiere Pydantic-v2-Modellklassen aus einem JSON-Beispiel.
- JSON-Viewer — Text- und einklappbare Baumansicht mit Ein-/Ausklappen und Knotenpfaden.
Alle ArrayKit-Tools