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.