Konvertieren der Kotlin-Datenklasse von JSON mit GSON

1. Übersicht

In diesem kurzen Tutorial wird erläutert, wie eine Datenklasse in Kotlin mithilfe der Gson Java-Bibliothek in eine JSON-Zeichenfolge konvertiert wird und umgekehrt.

2. Maven-Abhängigkeit

Bevor wir beginnen, fügen wir Gson zu unserer pom.xml hinzu:

 com.google.code.gson gson 2.8.5 

3. Kotlin- Datenklasse

Lassen Sie uns zunächst eine Datenklasse erstellen, die in den späteren Teilen des Artikels in eine JSON-Zeichenfolge konvertiert wird:

data class TestModel( val id: Int, val description: String )

Die TestModel- Klasse besteht aus zwei Attributen: ID und Name . Daher würde die von Gson erwartete JSON-Zeichenfolge folgendermaßen aussehen:

{"id":1,"description":"Test"}

4. Konvertieren von Datenklasse in JSON-Zeichenfolge

Jetzt können wir Gson verwenden, um Objekte der TestModel- Klasse in JSON zu konvertieren :

var gson = Gson() var jsonString = gson.toJson(TestModel(1,"Test")) Assert.assertEquals(jsonString, """{"id":1,"description":"Test"}""")

In diesem Beispiel verwenden wir Assert , um zu überprüfen, ob die Ausgabe von Gson unserem erwarteten Wert entspricht.

5. Konvertieren von einer JSON-Zeichenfolge in eine Datenklasse

Natürlich müssen wir manchmal von JSON in Datenobjekte konvertieren :

var jsonString = """{"id":1,"description":"Test"}"""; var testModel = gson.fromJson(jsonString, TestModel::class.java) Assert.assertEquals(testModel.id, 1) Assert.assertEquals(testModel.description, "Test")

Hier konvertieren wir die JSON-Zeichenfolge in ein TestModel- Objekt, indem wir Gson anweisen, TestModel :: class.java zu verwenden, da Gson eine Java-Bibliothek ist und nur Java-Klassen akzeptiert .

Schließlich testen wir, ob das Ergebnisobjekt die richtigen Werte in der ursprünglichen Zeichenfolge enthält.

6. Fazit

In diesem kurzen Artikel haben wir erläutert, wie Sie Gson in Kotlin verwenden, um eine Kotlin- Datenklasse in eine JSON-Zeichenfolge zu konvertieren und umgekehrt.

Alle Beispiele finden Sie wie immer auf GitHub.