Konvertieren der Kotlin-Datenklasse von JSON mit GSON
1. Überblick
In diesem kurzen Tutorial werden wir diskutieren, wie manconvert a data class in Kotlin to JSON string and vice versa using Gson Java library. macht
2. Maven-Abhängigkeit
Bevor wir beginnen, fügen wirGson zu unserenpom.xml: hinzu
com.google.code.gson
gson
2.8.5
3. KotlinData Class
Zunächst erstellen wir eindata class, das in den späteren Teilen des Artikels in eine JSON-Zeichenfolge konvertiert wird:
data class TestModel(
val id: Int,
val description: String
)
Die KlasseTestModel besteht aus 2 Attributen:id undname. Daher würde der von Gson erwartete JSON-String folgendermaßen aussehen:
{"id":1,"description":"Test"}
4. Konvertieren vonData Class in JSON-Zeichenfolge
Jetzt können wir Gson fürconvert objects of TestModel class to JSON verwenden:
var gson = Gson()
var jsonString = gson.toJson(TestModel(1,"Test"))
Assert.assertEquals(jsonString, """{"id":1,"description":"Test"}""")
In diesem Beispiel verwenden wirAssert, um zu überprüfen, ob die Ausgabe von Gson unserem erwarteten Wert entspricht.
5. Konvertieren von JSON-Zeichenfolge inData Class
Natürlich müssen wir manchmalconvert from JSON to data objects:
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 einTestModel-Objekt, indem wir Gson anweisen,TestModel::class.java asGson is a Java library and only accepts Java class zu verwenden.
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 Kotlindata class in JSON-Zeichenfolgen zu konvertieren und umgekehrt.
Alle Beispiele finden sich wie immer inover on GitHub.