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.