JSON zu Kotlin
JSON in Kotlin-Data-Klassen für Android- und Kotlin-Entwicklung umwandeln
JSON-Eingabe
Kotlin-Ausgabe
Was ist JSON zu Kotlin?
Kotlin verwendet Data Classes für strukturierte Daten. Beim Parsen von JSON mit kotlinx.serialization oder Gson brauchen Sie passende Kotlin-Typen. Dieses Tool erzeugt Kotlin-Data-Classes aus Ihrer JSON-Struktur für Json.decodeFromString oder Gson.fromJson.
Die Konvertierung läuft in Ihrem Browser. Setzen Sie den Data-Class-Namen und Package in der Konfiguration. Aktivieren Sie Data Class für <code>data class</code>-Syntax und Nullable Types für optionale Felder. Nichts wird an einen Server gesendet.
So verwenden Sie dieses Tool
JSON einfügen oder hochladen
Fügen Sie Ihr JSON in den linken Editor ein oder laden Sie eine Datei hoch. Nutzen Sie <strong>Beispiel</strong> für Beispieldaten. Setzen Sie den Root-Data-Class-Namen und Package in der Konfiguration. Aktivieren Sie Data Class und Nullable Types nach Bedarf.
Generierte Typen prüfen
Das rechte Panel zeigt Kotlin-Data-Classes. Verschachtelte Objekte werden zu verschachtelten Typen. Arrays werden zu <code>List<T></code>. Verwenden Sie <code>@SerializedName</code> oder <code>@Json</code>, wenn JSON-Schlüssel von Property-Namen abweichen. Bei ungültigem JSON nutzen Sie zuerst den JSON Formatierer oder JSON Validator.
Kopieren oder Herunterladen
Nutzen Sie <strong>Kopieren</strong> oder <strong>Herunterladen</strong>. Fügen Sie in Ihr Android- oder Kotlin-Projekt ein. Zum Formatieren von JSON zuerst den JSON Formatierer verwenden. Zur Validierung den JSON Validator.
Beispiele: JSON zu Kotlin
Hier ein Beispiel für die Generierung von Kotlin-Data-Classes aus einem JSON-Objekt.
Beispiel: Teilnehmerdatensatz
JSON-Eingabe:
Generierte Kotlin-Ausgabe:
Wann JSON zu Kotlin hilft
Beim Entwickeln von Android-Apps oder Kotlin-Backend-Services, die REST-APIs nutzen, brauchen Sie typisierte Data Classes. Eine Beispiel-Antwort hier einzufügen liefert Kotlin-Modelle für Retrofit, Gson oder kotlinx.serialization. Für API-Tests hilft Postman.
Häufig gestellte Fragen
Data Class vs. reguläre Klasse?
Data Classes liefern automatisch equals, hashCode, toString und copy. Sie werden für DTOs bevorzugt. Aktivieren Sie Data Class in der Konfiguration für data class-Syntax.
Nullable-Typen?
Aktivieren Sie Nullable Types für optionale JSON-Felder. Kotlin verwendet Type? für nullable. Nützlich, wenn ein Feld in der API-Antwort null oder fehlend sein kann.
Werden meine Daten irgendwohin gesendet?
Nein. Die Generierung läuft vollständig in Ihrem Browser. Kein JSON oder Code wird an einen Server gesendet.
Gson oder kotlinx.serialization?
Beide funktionieren mit den generierten Data Classes. Gson nutzt @SerializedName für benutzerdefinierte Schlüsselnamen. kotlinx.serialization nutzt @SerialName. Fügen Sie die passenden Annotationen hinzu, wenn JSON-Schlüssel von Property-Namen abweichen.
Kann ich dies mit Retrofit nutzen?
Ja. Retrofit funktioniert mit Gson oder kotlinx.serialization. Generieren Sie die Data Classes hier und verwenden Sie sie als Response-Typen in Ihrer API-Interface.
Verwandte Tools
Für Kotlin-JSON siehe kotlinx.serialization und Gson. Für JSON siehe die JSON-Spezifikation und RFC 8259. Für einen Überblick siehe MDN.