JSON zu Struct/Interface/Class Konverter

JSON einfugen — Go, TypeScript, Python & Java Typdefinitionen sofort erhalten

← Zurück zu Konvertierungstools
1
JSON einfugen

Beliebiges JSON-Objekt oder -Array

2
Root-Namen festlegen

Standard: „Root"

3
Fur Ihre Sprache kopieren

Go, TS, Python oder Java

JSON einfugen und auf Generieren klicken, um die Ausgabe zu sehen

JSON-Typzuordnung — Wie jede Sprache JSON-Typen darstellt

JSON-TypBeispielGoTypeScriptPythonJava
string"hello"stringstringstrString
integer42intnumberintInteger
float3.14float64numberfloatDouble
booleantrueboolbooleanboolBoolean
nullnullinterface{}unknownAnyObject
array[1,2,3][]TT[]list[T]List<T>
object{"a":1}struct{...}interface{...}@dataclass classclass{...}

Warum Typen aus JSON generieren?

API-Integration ist der haufigste Anwendungsfall: Sie erhalten eine JSON-Antwort von einer REST- oder GraphQL-API und benotigen typisierte Modelle in Ihrer bevorzugten Sprache. Das manuelle Schreiben von Struct-Definitionen aus einer grossen JSON-Antwort ist muhsam und fehleranfallig — ein 100-zeiliges JSON-Objekt kann von Hand uber 30 Minuten dauern, und ein einziger falscher Feldtyp verursacht Laufzeitfehler. Konfigurationsdateien (package.json, terraform.tfstate, docker-compose.yml) sind eine weitere haufige Quelle: Entwickler mochten typsicheren Zugriff auf Konfigurationsdaten. Code-Generierungspipelines verwenden JSON-zu-Typ-Tools als ersten Schritt vor der Generierung von Serialisierungscode, Datenbankschemata oder API-Dokumentation. Dieses Tool generiert alle 4 Sprachausgaben aus einer einzigen JSON-Eingabe — keine Anmeldung, kein API-Schlussel, sofortige Ergebnisse.

Sprachspezifische Konventionen

Go: Feldnamen verwenden PascalCase mit json:"feldname" Struct-Tags. String-Felder verwenden string; Zahlen werden standardmassig als float64 angenommen, sofern sie nicht eindeutig ganzzahlig sind. Verschachtelte Objekte werden zu verschachtelten Struct-Typen. Der Struct-Tag bewahrt den ursprunglichen JSON-Schlussel fur Marshaling/Unmarshaling.

TypeScript: Interfaces verwenden PascalCase (z. B. Root, Address). Optionale Felder (aus Null-Werten) erhalten den ?-Modifikator. Arrays verwenden die T[]-Syntax. Union-Typen werden fur Arrays mit gemischten Elementtypen generiert.

Python: Verwendet den @dataclass-Dekorator mit Typ-Hints. Felder erhalten Optional[T] fur nullable Werte. Verschachtelte Objekte werden zu verschachtelten Dataclass-Klassen. Die Importe from dataclasses import dataclass und from typing import List, Optional sind enthalten.

Java: Generiert POJO-Klassen (Plain Old Java Object) mit privaten Feldern, offentlichen Gettern/Settern und korrekten generischen Collections. Verwendet List<T> fur Arrays, Integer/Double/Boolean fur nullable primitive Wrapper.

Haufig gestellte Fragen

Wie konvertiere ich JSON in einen Go-Struct?

Fugen Sie Ihr JSON ein und wechseln Sie zum Go-Tab. Das Tool generiert korrekte Go-Structs mit json:"..."-Tags, verschachtelten Struct-Typen und Slice-Typen fur Arrays. Felder verwenden PascalCase, wobei der ursprungliche JSON-Schlussel in den Struct-Tags erhalten bleibt.

Wie generiere ich TypeScript-Interfaces aus JSON?

Wahlen Sie den TypeScript-Tab, nachdem Sie Ihr JSON eingefugt haben. Interfaces werden mit optionalen Modifikatoren fur nullable Felder, Array-Typen mit T[] und verschachtelten Interfaces fur verschachtelte Objekte generiert.

Kann dies Python-Dataclass oder Java-Klasse aus JSON generieren?

Ja — alle 4 Sprachen werden gleichzeitig generiert. Python: @dataclass mit Typ-Hints und Optional/List aus typing. Java: POJO mit privaten Feldern, Gettern/Settern und generischen Collections. Wechseln Sie zwischen den Tabs, um jede Sprachausgabe zu sehen.

Wie funktioniert die Typinferenz?

JSON-Werte werden zugeordnet: strings → string/str/String, integers → int/number/int/Integer, floats → float64/number/float/Double, booleans → bool/boolean/bool/Boolean, null → interface{}/unknown/Any/Object, arrays → typisierte Collections, objects → verschachtelte Typen. Siehe die Typzuordnungstabelle oben.

Was ist mit optionalen Feldern und Null-Werten?

JSON-Null-Werte erzeugen optionale/Pointer-Typen: *T oder interface{} in Go, ?-Modifikator in TypeScript, Optional[T] in Python, nullable Wrapper in Java. Felder, die in einigen Array-Elementen fehlen, werden in allen Ausgaben als optional behandelt.