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

1

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.

2

Generierte Typen prüfen

Das rechte Panel zeigt Kotlin-Data-Classes. Verschachtelte Objekte werden zu verschachtelten Typen. Arrays werden zu <code>List&lt;T&gt;</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.

3

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:

Eingabe

Generierte Kotlin-Ausgabe:

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.