JSON zu TypeScript, Go, Python, Zod und JSON Schema Generator
Füge JSON ein und erhalte in Sekunden TypeScript-Interfaces, Go-Structs, Python-Dataclasses, Zod-Schemas oder ein JSON Schema. Das Tool parsed deine Daten, erkennt Typen für jedes Feld und generiert benannte Interfaces für verschachtelte Objekte. Kein Login, keine Serveraufrufe, keine Abhängigkeiten.
Was ist ein JSON-zu-TypeScript-Generator?
Ein JSON-zu-TypeScript-Generator nimmt ein Beispiel-JSON-Objekt und erzeugt entsprechende TypeScript-Typdefinitionen (Interfaces, Type Aliases oder Zod-Schemas), indem er den Typ jedes Feldes erkennt. Anstatt die Typen manuell zu schreiben, die deinen API-Antworten oder Konfigurationsobjekten entsprechen, fügst du ein repräsentatives JSON-Beispiel ein und das Tool generiert die Typen automatisch. Dies spart Zeit, reduziert Fehler und behandelt Randfälle wie verschachtelte Objekte, Arrays mit gemischten Typen und nullable Felder.
So verwendest du es
- Füge gültiges JSON in das linke Eingabefeld ein oder ziehe eine
.json-Datei per Drag & Drop - Wähle den Ausgabemodus: Interface (Standard), Type Alias, Schema, Go, Python oder Zod
- Kopiere die generierte Ausgabe mit dem Kopieren-Button oder lade sie als
.ts,.go,.py-Datei herunter - Füge die generierten Typen direkt in dein Projekt ein
Ausgabemodi
Interface-Modus (Standard)
Erzeugt Standard-TypeScript-Interfaces. Am besten für API-Antworten, Config-Objekte und Declaration Merging geeignet.
Type-Alias-Modus
Erzeugt type-Deklarationen. Am besten für Union-Typen, gemappede Typen und wenn du mehr Flexibilität in deinen Typdefinitionen brauchst.
Schema-Modus
Erzeugt ein JSON Schema (draft-07) aus deinen Daten. Das Schema enthält typisierte Eigenschaften, Pflichtfelder-Listen, Ganzzahl vs. Gleitkomm Unterscheidung und rekursive verschachtelte Objekt-Schemas.
Go-Modus
Erzeugt Go-Structs mit JSON-Struct-Tags. Jedes Feld erhält einen PascalCase exportierten Namen und ein json:"..."-Tag. Optionale Felder enthalten omitempty.
Python-Modus
Erzeugt Python-Dataclasses mit Type-Annotations. Felder verwenden snake_case-Namen, fehlende Felder werden als Optional[T] = None typisiert.
Zod-Modus
Erzeugt Zod-Schemas mit Type-Inference. Jedes Objekt wird zu einem z.object(), fehlende Felder verwenden z.optional(), der TypeScript-Typ wird mit z.infer exportiert.
Typ-Extraktionsregeln
Das Tool kartiert JSON-Werte auf TypeScript-, Go-, Python-, Zod- und JSON-Schema-Typen:
| JSON-Wert | TypeScript-Typ | Go-Typ | Python-Typ | Zod-Typ | JSON-Schema-Typ |
|---|---|---|---|---|---|
"hallo" | string | string | str | z.string() | "string" |
42 | number | int | int | z.number() | "integer" |
3.14 | number | float64 | float | z.number() | "number" |
true / false | boolean | bool | bool | z.boolean() | "boolean" |
null | null | interface{} | None | z.null() | "null" |
{} | Record<string, unknown> | map[string]interface{} | Dict[str, Any] | z.record(z.unknown()) | { "type": "object", "additionalProperties": true } |
[] | unknown[] | []interface{} | List[Any] | z.array(z.unknown()) | { "type": "array", "items": {} } |
[{ ... }] | TypeName[] | []StructName | List[TypeName] | z.array(TypeName) | { "type": "array", "items": { ... } } |
{ key: "val" } | interface TypeName { ... } | type StructName struct { ... } | @dataclass class TypeName: ... | z.object({...}) | { "type": "object", "properties": { ... } } |
Verschachtelte Objektbenennung
Verschachtelte Objekte erhalten pfadbasierte Namen, um Kollisionen zu vermeiden. Bei diesem JSON:
{
"user": {
"name": "Alice",
"address": { "city": "NYC" }
}
}
Erzeugt das Tool:
interface RootUserAddress {
city: string;
}
interface RootUser {
name: string;
address: RootUserAddress;
}
interface Root {
user: RootUser;
}
Die Namenskonvention verwendet den Schlüsselpfad in PascalCase: user.address wird zu RootUserAddress.
Häufige Anwendungsfälle
API-Antwort-Typen
Füge eine Beispiel-API-Antwort ein und generiere Typen für deine Fetch-Aufrufe. Funktioniert mit REST-APIs, GraphQL-Antworten und jedem JSON-Endpunkt.
Config-Objekt-Typen
Generiere Typen für Konfigurationsdateien, Umgebungsvariablen oder Einstellungsobjekte. Das Tool verarbeitet verschachtelte Configs mit mehreren Tiefe-Ebenen.
Verwandte Tools
- JSON-Formatierer — JSON vor der Konvertierung formatieren und validieren
- Datenkonverter — Zwischen JSON, YAML, TOML und .env-Formaten konvertieren