Kostenloser JSON-zu-Typen-Generator
Konvertiere JSON in TypeScript-Interfaces, Go-Structs oder Rust-Typen. Kostenlos, schnell und vollständig im Browser, ohne Anmeldung.
Aktualisiert am
JSON to Types Converter
Convert JSON to TypeScript, Go, Rust, Python, C#, Java, Kotlin, Swift, Dart, Scala, PHP, or Zod schemas.
JSON Input
Generated TypesTypeScript
interface User {
id: number;
name: string;
email: string;
isActive: boolean;
profile: Profile;
tags: string[];
metadata?: null;
}
interface Profile {
bio: string;
avatar: string;
social: Social;
}
interface Social {
twitter: string;
github: string;
}Häufig gestellte Fragen
Was ist JSON to Types?
JSON to Types ist ein kostenloses Online-Tool, das JSON-Daten in Typdefinitionen für TypeScript-Interfaces, Go-Structs, Rust-Typen und andere Sprachen umwandelt.
Ist JSON to Types kostenlos?
Ja, es ist völlig kostenlos und erfordert keine Registrierung. Die gesamte Umwandlung erfolgt clientseitig in Ihrem Browser.
Welche Ausgabesprachen werden unterstützt?
JSON to Types erzeugt Typdefinitionen für TypeScript, Go, Rust, Python (dataclasses) und andere statisch typisierte Sprachen.
Sind meine Daten mit diesem Tool sicher?
Absolut. Der JSON to Type Generator verarbeitet alles clientseitig in Ihrem Browser. Es werden keine Daten auf einen Server hochgeladen oder dort gespeichert. Ihre Inhalte bleiben jederzeit privat auf Ihrem Gerät.
Funktioniert der JSON to Type Generator auf Mobilgeräten?
Ja, der JSON to Type Generator ist vollständig responsiv und funktioniert auf Smartphones und Tablets. Sie können ihn auf jedem Gerät mit einem modernen Webbrowser nutzen, ohne App-Download.
Muss ich ein Konto erstellen, um dieses Tool zu nutzen?
Es ist kein Konto und keine Registrierung erforderlich. Öffnen Sie einfach den JSON to Type Generator in Ihrem Browser und legen Sie sofort los. Es gibt keine Anmeldeschranken oder Nutzungsbeschränkungen.
Wie verwende ich den JSON to Type Generator?
Geben Sie einfach Ihre Eingabe in das vorgesehene Feld ein, passen Sie die Einstellungen nach Belieben an, und das Tool verarbeitet sie sofort. Anschließend können Sie das Ergebnis in die Zwischenablage kopieren oder herunterladen.
Welche Browser werden unterstützt?
Der JSON to Type Generator funktioniert in allen modernen Browsern, einschließlich Chrome, Firefox, Safari, Edge und Opera. Für das beste Erlebnis verwenden Sie die neueste Version Ihres bevorzugten Browsers.
Wie entscheidet das Tool, ob aus einer JSON-Zahl ein Integer oder ein Float wird?
Der Konverter untersucht jeden numerischen Wert und unterscheidet intelligent, statt alle Zahlen gleich zu behandeln. Eine ganze Zahl wie 42 wird auf den Integer-Typ der jeweiligen Sprache abgebildet – int64 in Go, i64 in Rust und int in Python –, während ein Wert mit Dezimalpunkt wie 19.99 zu einem Float oder Double wird. Das ist wichtig, weil JSON selbst nur einen einzigen Zahlentyp kennt, sodass das erzeugte Struct oder Interface diese Unterscheidung sonst verlieren würde und du sie von Hand nachtragen müsstest. Beachte, dass die Entscheidung auf dem eingefügten Beispiel basiert – kann ein Feld sowohl 5 als auch 5.5 enthalten, füge ein Beispiel mit Dezimalstelle ein, um den breiteren Typ zu erhalten. Füge oben ein repräsentatives Payload ein, und die erkannten Integer- und Float-Typen erscheinen sofort.
Was ist der Unterschied zwischen einem TypeScript-Interface und einem Zod-Schema aus JSON?
Ein TypeScript-Interface ist ein Compile-Time-Typ: Er teilt dem Compiler die Struktur deiner Daten mit, verschwindet aber zur Laufzeit und prüft ein eingehendes Payload nie tatsächlich. Ein Zod-Schema ist dagegen ein Laufzeit-Validator – es untersucht echte Daten, während dein Code läuft, und wirft einen Fehler, wenn ein Feld fehlt oder den falschen Typ hat, und kann zusätzlich einen passenden TypeScript-Typ ableiten. Nutze die Interface-Ausgabe, wenn du der Quelle vertraust und nur Autovervollständigung im Editor sowie Compile-Prüfungen möchtest; wähle die Zod-Ausgabe, wenn du nicht vertrauenswürdige API-Antworten oder Formulareingaben verarbeitest und eine echte Absicherung an der Systemgrenze brauchst. Beide stehen hier als separate Zielformate zur Verfügung, sodass du aus demselben JSON das eine oder das andere erzeugen kannst. Füge dein Beispiel ein und wähle TypeScript oder Zod, um sie zu vergleichen.
Wie geht der Konverter mit einem JSON-Array um, das unterschiedliche Werttypen mischt?
Enthält ein Array mehr als eine Art von Wert, untersucht das Tool jedes Element, statt zu einem vagen Sammeltyp zurückzufallen. In der TypeScript-Ausgabe wird das Ergebnis als Union dargestellt – ein Array mit Strings und Zahlen wird zu (string | number)[] statt zu any[] –, sodass echte Typsicherheit erhalten bleibt. Bei einem einheitlichen Array aus Objekten geht das Tool noch cleverer vor: Es baut einen wiederverwendbaren Element-Typ und setzt den Feldnamen in den Singular, um ihn zu benennen – aus einem tags-Array wird so ein Tag-Typ, auf den das übergeordnete Objekt verweist. Das hält die erzeugten Definitionen sauber und idiomatisch, statt doppelte Strukturen inline zu wiederholen. Da die Erkennung auf den tatsächlich vorhandenen Elementen basiert, solltest du in deinem Beispiel jede Variante einmal aufführen, um die genaueste Union zu erhalten. Füge oben ein gemischtes Array ein, um die automatisch erzeugte Union zu sehen.
Was verändert der Schalter „Optionale Nullwerte“ an den erzeugten Typen?
Der Schalter „Optionale Nullwerte“ steuert, wie Felder, die in deinem Beispiel null enthalten, in der Ausgabe dargestellt werden. Ist er aktiviert, wird jedes Null-Feld mit dem Idiom als optional markiert, das die jeweilige Zielsprache bevorzugt: ein ?-Modifikator bei TypeScript-Properties, Optional[...] in Python, Option<...> in Rust und ein ,omitempty-Tag in Go. Ist er deaktiviert, behält das Feld einen einfachen, nicht-optionalen Typ. Die Aktivierung ist sinnvoll, wenn ein Schlüssel in echten Antworten tatsächlich fehlen oder null sein kann, da so verhindert wird, dass der Typ einen Wert erzwingt, der möglicherweise nicht vorhanden ist. Beachte, dass das Tool ein Feld nur dann als nullable erkennt, wenn dein eingefügtes Beispiel für dieses Feld tatsächlich null zeigt – nimm diese Fälle also in dein Beispiel auf. Schalte „Optionale Nullwerte“ oben um und beobachte, wie sich die Ausgabe für die gewählte Sprache live aktualisiert.
Wie benennt das Tool die separaten Typen, die es aus verschachtelten JSON-Objekten erzeugt?
Statt ein verschachteltes Objekt inline in sein übergeordnetes Objekt einzubetten, extrahiert der Konverter es als eigenen, benannten Typ. Ein profile-Objekt innerhalb eines Users wird so zu einer eigenständigen Profile-Definition, auf die das übergeordnete Objekt verweist – das hält jeden Typ klein und wiederverwendbar. Die Namen werden aus den JSON-Schlüsseln abgeleitet und dann pro Sprache angepasst: Typnamen werden in PascalCase geschrieben, während Feldnamen nach der jeweiligen Ökosystem-Konvention umgeschrieben werden – snake_case bei Rust und Python, camelCase bei den übrigen. Entscheidend ist, dass der ursprüngliche JSON-Schlüssel in einem Serialisierungs-Tag oder Rename-Attribut erhalten bleibt, etwa in Gos json:"..."-Tag oder Swifts CodingKeys, sodass Kodierung und Dekodierung auch nach der Umbenennung korrekt funktionieren. Du kannst außerdem einen Namen für den Wurzeltyp festlegen, um den obersten Typ zu benennen. Füge oben ein verschachteltes Objekt ein, um die für dich erzeugten benannten Kindtypen zu sehen.
Verwandte Tools
Kostenloser API-Tester Online
Testen Sie REST-APIs mit GET-, POST-, PUT- und DELETE-Anfragen. Kostenlos, schnell und komplett im Browser, ohne Anmeldung.
Kostenloser cURL-zu-Code-Konverter
Wandeln Sie cURL-Befehle in JavaScript-, Python- oder PHP-Code um. Kostenlos, schnell und komplett im Browser, ohne Anmeldung.
Kostenloser JSON-Schema-Generator
Erzeugen Sie automatisch ein JSON Schema aus Ihren JSON-Daten. Kostenlos, schnell und komplett im Browser, ohne Anmeldung.
Kostenloser HTTP-Header-Parser
Analysieren und untersuchen Sie HTTP-Header aus Anfragen und Antworten. Kostenlos, schnell und komplett im Browser, ohne Anmeldung.
Über den JSON-zu-Typen-Generator
Der JSON-zu-Typen-Generator verwandelt ein JSON-Beispiel in einsatzbereite Typdefinitionen für eine statisch typisierte Sprache. Füge eine echte API-Antwort oder ein Konfigurationsobjekt ein, gib dem obersten Typ einen Namen, wähle eine Zielsprache aus – und das Tool erkennt die Struktur deiner Daten und erzeugt die passenden Interfaces, Structs, Klassen oder Schemas. Entwickelt wurde es für Backend- und Frontend-Entwickler, die immer wieder vor derselben lästigen Aufgabe stehen: Ein JSON-Payload kommt ohne Typinformationen an, und irgendjemand muss die Typen von Hand schreiben, damit der Compiler Fehler abfangen kann.
Alles läuft direkt in deinem Browser ab. Dein JSON wird lokal mit der browsereigenen Funktion JSON.parse geparst und umgewandelt, sodass nichts an einen Server gesendet, protokolliert oder gespeichert wird. Das ist besonders wichtig, wenn das Payload echte Daten enthält – Auth-Tokens, Kundendatensätze oder einen internen API-Vertrag, den du lieber nicht in einen fremden Dienst einfügen möchtest. Es gibt keine Registrierung und kein Nutzungslimit.
Unterstützte Sprachen und Ausgabeformate
Der Konverter erzeugt Typdefinitionen für zwölf Zielsprachen, jeweils in den idiomatischen Konventionen des jeweiligen Ökosystems:
- TypeScript —
interfaceodertype-Aliase (nach Wahl) - Go — Structs mit
json:"..."-Feld-Tags - Rust — Structs mit
#[derive(Serialize, Deserialize)]-Serde-Makros - Python —
@dataclass-Definitionen mit Typ-Hinweisen - Zod — Laufzeit-Validierungsschemas plus einem daraus abgeleiteten TypeScript-Typ
- C# — Klassen mit
[JsonProperty](Newtonsoft.Json) - Java — POJOs mit Jackson-
@JsonPropertysowie Gettern/Settern - Kotlin —
data class-Deklarationen mit Gson-@SerializedName - Swift —
Codable-Structs mitCodingKeys, wo Schlüssel umbenannt werden - Dart — Klassen mit
fromJson/toJsonfür Flutter - Scala —
case class-Definitionen - PHP — typisierte Klassen mit einem Konstruktor, der aus einem Array befüllt wird
So funktioniert die Typ-Erkennung
Das Tool durchläuft dein JSON und ordnet jedem Wert einen passenden nativen Typ zu. Strings werden zu string / String / str; Booleans werden auf den jeweiligen Boolean-Typ der Sprache abgebildet; und bei Zahlen wird intelligent unterschieden – eine ganze Zahl wird zu einem Integer-Typ (int64 in Go, i64 in Rust, int in Python), während eine Dezimalzahl zu einem Float oder Double wird. Verschachtelte Objekte werden als eigene, benannte Typen extrahiert statt inline eingebettet zu werden – so wird aus einem profile-Objekt innerhalb eines Users ein separater Profile-Typ, auf den das übergeordnete Objekt verweist.
Arrays werden untersucht, um den Typ ihrer Elemente zu erkennen. Ein Array aus Objekten erzeugt einen wiederverwendbaren Element-Typ, wobei das Tool den Feldnamen in den Singular setzt, um ihn zu benennen – aus einem tags-Array wird passend ein Tag-Element. Enthält ein Array gemischte Typen, drückt die TypeScript-Ausgabe dies als Union aus, etwa (string | number)[], statt auf ein vages any auszuweichen.
Die Benennung wird pro Sprache angepasst: Typnamen werden in PascalCase geschrieben, Feldnamen werden nach der jeweiligen Sprachkonvention umgeschrieben (snake_case bei Rust und Python, camelCase bei den übrigen), wobei der ursprüngliche JSON-Schlüssel in einem Tag oder Rename-Attribut erhalten bleibt, damit die Serialisierung weiterhin korrekt funktioniert.
Optionen, Null-Behandlung und Export
Ein Feld für den Namen des Wurzeltyps erlaubt es dir, den obersten Typ zu benennen – praktisch, wenn die erzeugte Datei danach benannt wird. Für TypeScript kannst du zwischen interface- und type-Ausgabe wechseln. Der Schalter Optionale Nullwerte steuert, wie null-Werte behandelt werden: Ist er aktiviert, wird ein Null-Feld auf die von der jeweiligen Sprache bevorzugte Weise als optional markiert – ein ?-Modifikator in TypeScript, Optional[...] in Python, Option<...> in Rust, ,omitempty in Go und so weiter.
Die Umwandlung erfolgt live: Die Ausgabe aktualisiert sich, während du tippst, und wenn die Eingabe kein gültiges JSON ist, weist das Tool mit der Meldung „Invalid JSON" darauf hin, statt fehlerhafte Typen zu erzeugen. Sobald das Ergebnis passt, kopierst du es in die Zwischenablage oder lädst es als Datei mit der passenden Dateiendung herunter (.ts, .go, .rs, .py und so weiter), benannt nach deinem Wurzeltyp. Füge dein JSON oben ein, wähle eine Sprache – und die passenden Typen erscheinen sofort.