JSON-zu-Code-Konverter

Wandle ein JSON-Beispiel in TypeScript-Interfaces, Go-Structs, Rust-serde-Structs, ein Zod-Schema oder JSON Schema um.

Tool wird geladen…

JSON-zu-Code-KonverterFüge ein repräsentatives JSON-Beispiel ein und erhalte sofort streng typisierten Code in deiner Zielsprache: TypeScript-Interfaces, Go-Structs mit json-Tags, Rust-serde-Structs, ein Zod-Schema oder JSON Schema draft-07. Die Typen werden direkt aus den Daten abgeleitet – verschachtelte Objekte werden zu benannten Typen, Arrays leiten ihren Elementtyp ab, und Felder, die nicht in jedem Array-Element vorkommen, werden als optional markiert. Alles läuft in deinem Browser, dein JSON wird also nie hochgeladen.

Was ist JSON-zu-Code-Konverter?

JSON zu Code ist ein kostenloser Typgenerator im Browser, der ein JSON-Beispiel liest und das passende Datenmodell in der von dir gewählten Sprache schreibt. Wähle ein Ziel im Menü „Umwandeln in“ – TypeScript-Interface, Go-Struct, Rust-serde-Struct, Zod-Schema oder JSON Schema – und lege einen Namen des Wurzeltyps fest, um den obersten Typ zu benennen. Die Inferenz-Engine durchläuft das JSON: Strings, Zahlen, Booleans und null werden auf native Typen abgebildet, verschachtelte Objekte werden zu eigenen benannten Typen angehoben, Arrays übernehmen ihren Elementtyp, und Schlüssel, die in einigen Array-Elementen fehlen, werden optional. Frontend- und Backend-Entwickler nutzen es, um DTOs aus API-Antworten zu erstellen, Validierungsschemata zu entwerfen und Client- und Server-Typen synchron zu halten, ohne Boilerplate von Hand zu schreiben.

So verwendest du JSON-zu-Code-Konverter

  1. Füge ein repräsentatives JSON-Beispiel in das Eingabefeld ein oder tippe es ein, oder klicke auf Beispiel, um ein Beispiel zu laden.
  2. Öffne Einstellungen und wähle unter „Umwandeln in“ ein Ziel: TypeScript, Go, Rust, Zod oder JSON Schema.
  3. Lege den Namen des Wurzeltyps fest, um den Namen des obersten Interfaces, Structs oder Schemas zu steuern.
  4. Lies den generierten Code im Ausgabebereich – er aktualisiert sich automatisch, während du das JSON bearbeitest oder Optionen änderst.
  5. Sieh dir die Statistik Typen an, um zu erfahren, wie viele benannte Typen abgeleitet wurden, und klicke dann auf Kopieren, um das Ergebnis zu übernehmen.

Beispiele

Objekt zu TypeScript-Interface

Eingabe

{ "id": 1, "name": "Ada", "active": true }

Ausgabe

export interface Root {
  id: number;
  name: string;
  active: boolean;
}

Verschachteltes Objekt zu Go-Struct

Eingabe

{ "user": { "age": 30 } }

Ausgabe

type User struct {
	Age float64 `json:"age"`
}

type Root struct {
	User User `json:"user"`
}

Array mit fehlendem Schlüssel zu einem Zod-Schema

Füge ein Array wie [{"a":1,"b":2},{"a":3}] ein und stelle „Umwandeln in“ auf Zod um. Da das zweite Element kein b hat, markiert der Generator b im abgeleiteten z.object als .optional(), sodass das Schema beide Formen akzeptiert.

Häufig gestellte Fragen

Wird mein JSON irgendwohin hochgeladen?
Nein. Das Parsen und die Codegenerierung laufen vollständig in deinem Browser mit einer integrierten Inferenz-Engine. Dein JSON verlässt dein Gerät nie, und das Tool funktioniert auch offline weiter.
Welche Ziele werden unterstützt?
TypeScript-Interfaces, Go-Structs (mit json-Tags und omitempty für optionale Felder), Rust-serde-Structs (mit Serialize/Deserialize-Derives und rename, wenn ein Feld umbenannt wird), Zod-Schemata und JSON Schema draft-07. Das Tool generiert nur, was es aus deinem Beispiel zuverlässig ableiten kann.
Wie werden optionale Felder bestimmt?
Aus deinem Beispiel. Wenn ein Array Objekte enthält und ein Schlüssel in einigen davon fehlt, wird dieser Schlüssel als optional abgeleitet. Ansonsten wird jeder im Beispiel vorhandene Schlüssel als erforderlich behandelt.
Was ist mit Zahlen, null und gemischten Typen?
Zahlen werden auf den Gleitkommatyp der Sprache abgebildet (number, float64, f64), null wird je nach Ziel auf einen nullable- oder Werttyp abgebildet, und ein Feld, das in verschiedenen Beispielen unterschiedliche Typen hält, fällt auf einen permissiven Typ zurück (unknown, interface{}, serde_json::Value), anstatt zu raten.
Warum ist meine Ausgabe leer oder zeigt einen Fehler?
Die Eingabe muss gültiges JSON sein. Schlägt das Parsen fehl, zeigt das Tool den Fehler – sofern verfügbar mit Zeile und Spalte; korrigiere die markierte Stelle, und der Code wird sofort neu generiert.

Verwandte Tools