Konvertering af Kotlin-dataklasse fra JSON ved hjælp af GSON
1. Oversigt
I denne korte vejledning diskuterer vi, hvordan du gør det konvertere en dataklasse i Kotlin til JSON-streng og omvendt ved hjælp af Gson Java-bibliotek.
2. Maven-afhængighed
Lad os føje Gson til vores, inden vi starter pom.xml:
com.google.code.gson gson 2.8.5
3. Kotlin Dataklasse
Lad os først og fremmest oprette en dataklasse som vi konverterer til JSON-streng i de senere dele af artiklen:
dataklasse TestModel (val id: Int, val beskrivelse: String)
Det TestModel klasse består af 2 attributter: id og navn. Derfor ser den JSON-streng, vi forventer af Gson, ud som:
{"id": 1, "description": "Test"}
4. Konvertering fra Dataklasse til JSON String
Nu kan vi bruge Gson til konvertere objekter af TestModel klasse til JSON:
var gson = Gson () var jsonString = gson.toJson (TestModel (1, "Test")) Assert.assertEquals (jsonString, "" "{" id ": 1," description ":" Test "}" "")
I dette eksempel bruger vi Hævde for at kontrollere, om output fra Gson svarer til vores forventede værdi.
5. Konvertering fra JSON-streng til a Dataklasse
Selvfølgelig har vi nogle gange brug for det konvertere fra JSON til dataobjekter:
var jsonString = "" "{" id ": 1," description ":" Test "}" ""; var testModel = gson.fromJson (jsonString, TestModel :: class.java) Assert.assertEquals (testModel.id, 1) Assert.assertEquals (testModel.description, "Test")
Her konverterer vi JSON-strengen til en TestModel modstand ved at bede Gson om at bruge TestModel :: class.java som Gson er et Java-bibliotek og accepterer kun Java-klasse.
Endelig tester vi, om resultatobjektet indeholder de korrekte værdier i den originale streng.
6. Konklusion
I denne hurtige artikel har vi diskuteret, hvordan man bruger Gson i Kotlin til at konvertere en Kotlin dataklasse til JSON-streng og omvendt.
Alle eksempler kan som altid findes på GitHub.