Konvertering av Kotlin-dataklasse fra JSON ved bruk av GSON

1. Oversikt

I denne korte opplæringen vil vi diskutere hvordan du gjør det konvertere en dataklasse i Kotlin til JSON-streng og omvendt ved hjelp av Gson Java-bibliotek.

2. Maven avhengighet

Før vi begynner, la oss legge til Gson i vår pom.xml:

 com.google.code.gson gson 2.8.5 

3. Kotlin Dataklasse

La oss først lage en dataklasse som vi konverterer til JSON-streng i de senere delene av artikkelen:

dataklasse TestModel (val id: Int, val beskrivelse: String)

De TestModell klasse består av to attributter: id og Navn. Derfor ser JSON-strengen vi forventer av Gson ut:

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

4. Konvertering fra Dataklasse til JSON String

Nå kan vi bruke Gson til konvertere objekter av TestModell klasse til JSON:

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

I dette eksemplet bruker vi Påstå for å sjekke om produksjonen fra Gson samsvarer med vår forventede verdi.

5. Konvertering fra JSON-streng til a Dataklasse

Noen ganger trenger vi selvfølgelig 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 TestModell objektet ved å be Gson bruke TestModel :: class.java som Gson er et Java-bibliotek og godtar bare Java-klasse.

Til slutt tester vi om resultatobjektet inneholder de riktige verdiene i den opprinnelige strengen.

6. Konklusjon

I denne raske artikkelen har vi diskutert hvordan du bruker Gson i Kotlin til å konvertere en Kotlin dataklasse til JSON-streng og omvendt.

Alle eksempler, som alltid, finner du på GitHub.


$config[zx-auto] not found$config[zx-overlay] not found