Zum Inhalt springen
100% lokal

JSON zu Kotlin-Datenenklasse

Konvertiere ein JSON-Beispiel in eine einsatzbereite Kotlin-Datenenklasse.

Eingabe
Ausgabe

JSON zu Kotlin-Datenenklasse

Füge eine JSON-Antwort ein und dieses Tool konvertiert sie in eine einsatzbereite Kotlin-Datenenklasse, wobei jeder Feldtyp direkt aus den bereitgestellten Werten abgeleitet wird. Es wurde für Android- und Backend-Entwickler konzipiert, die schnell ein Modell für eine API-Antwort, eine Konfigurationsdatei oder ein Beispiel-Payload benötigen, ohne Eigenschaftsnamen und Typen manuell einzutippen oder ein IDE-Plugin zu verwenden.

Lege einen Namen für die Stammklasse fest und wähle, wie verschachtelte Objekte erscheinen: verschachtelt in der Stammklasse oder als separate Top-Level-Klassen. Wechsle zwischen val für unveränderliche Eigenschaften und var, wenn das Modell änderbar sein soll, und aktiviere Standardwerte, um jeder Eigenschaft einen sinnvollen Fallback zu geben (leerer String, Null, emptyList()), damit Instanzen mit weniger Argumenten erstellt werden können. Füge @Serializable- und @SerialName-Annotationen für kotlinx.serialization oder @SerializedName für Gson hinzu und wähle 2-Leerzeichen-, 4-Leerzeichen- oder Tabulator-Einrückung, um dem Stil deines Projekts zu entsprechen.

Fehlende oder null-Werte werden automatisch zu nullbaren Typen, Arrays werden zu List<T> mit dem aus jedem Element abgeleiteten Elementtyp, und Objekte mit der gleichen Form werden in eine wiederverwendete Klasse kollabiert, anstatt dupliziert zu werden. Die Option "Felder in Array-Elementen zusammenführen" steuert, ob dieser Elementtyp aus jedem Element im Array oder nur aus dem ersten erstellt wird, was bei einem sehr großen oder ungleichmäßig geformten Array nützlich ist. Wenn das JSON auf der obersten Ebene selbst ein Array ist, umhüllt das Tool den abgeleiteten Elementtyp für dich in ein List.

Alles läuft lokal in deinem Browser — dein JSON wird niemals hochgeladen oder an einen Server gesendet, sodass es sicher ist, echte API-Antworten und interne Payloads einzufügen. Kopiere das generierte Kotlin, lade es als .txt-Datei herunter oder sende die Ausgabe zur erneuten Konvertierung mit anderen Optionen zurück in die Eingabe.

Häufige Fragen

Wie entscheidet das Tool, welche Felder nullbar sind?
Ein Feld wird nullbar, wenn es in mindestens einem Beispielobjekt fehlt oder sein einziger beobachteter Wert null ist. Ein Feld, das in jedem Objekt mit einem Nicht-Null-Wert vorhanden ist, bleibt nicht-nullbar.
Kann es die kotlinx.serialization- oder Gson-Annotationen generieren, die ich benötige?
Ja. Wähle kotlinx.serialization, um @Serializable und @SerialName hinzuzufügen, oder Gson, um @SerializedName mit dem ursprünglichen JSON-Schlüssel hinzuzufügen, sodass die Klasse korrekt deserialisiert wird, auch wenn sich der Eigenschaftsname unterscheidet.
Was passiert mit einem JSON-Array, dessen Objekte unterschiedliche Formen haben?
Ihre Felder werden in eine Datenenklasse zusammengeführt, wobei jedes Feld, das in einigen Elementen fehlt, als nullbar gekennzeichnet wird. Deaktiviere "Felder in Array-Elementen zusammenführen", um den Typ stattdessen nur aus dem ersten Element abzuleiten.
Unterstützt es verschachtelte Objekte?
Ja. Ein verschachteltes Objekt wird zu einer eigenen Datenenklasse, entweder innerhalb der Stammklasse deklariert oder als separate Top-Level-Klasse, abhängig von der Verschachtelungsoption.
Wird mein JSON irgendwo hochgeladen?
Nein. Die Konvertierung läuft vollständig in deinem Browser — dein JSON verlässt dein Gerät nie.