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.