Kotlin Data Class converteren van JSON met GSON

1. Overzicht

In deze korte tutorial bespreken we hoe converteer een dataklasse in Kotlin naar JSON-string en vice versa met behulp van de Gson Java-bibliotheek.

2. Maven Afhankelijkheid

Voordat we beginnen, voegen we Gson toe aan ons pom.xml:

 com.google.code.gson gson 2.8.5 

3. Kotlin Gegevensklasse

Laten we eerst een dataklasse die we in de latere delen van het artikel naar JSON-string zullen converteren:

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

De Testmodel klasse bestaat uit 2 attributen: ID kaart en naam. Daarom zou de JSON-string die we van Gson verwachten, er als volgt uitzien:

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

4. Omzetten van Gegevensklasse naar JSON String

Nu kunnen we Gson gebruiken om converteer objecten van Testmodel class naar JSON:

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

In dit voorbeeld gebruiken we Beweren om te controleren of de uitvoer van Gson overeenkomt met onze verwachte waarde.

5. Omzetten van JSON String naar een Gegevensklasse

Natuurlijk moeten we dat soms doen converteren van JSON naar data-objecten:

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 converteren we de JSON-string naar een Testmodel object door Gson te vertellen om te gebruiken TestModel :: class.java net zo Gson is een Java-bibliotheek en accepteert alleen Java-klasse.

Ten slotte testen we of het resultaatobject de juiste waarden bevat in de originele string.

6. Conclusie

In dit korte artikel hebben we besproken hoe je Gson in Kotlin kunt gebruiken om een ‚Äč‚ÄčKotlin te converteren dataklasse naar JSON-string en vice versa.

Alle voorbeelden zijn, zoals altijd, te vinden op GitHub.