Conversione della classe di dati Kotlin da JSON utilizzando GSON

1. Panoramica

In questo breve tutorial, discuteremo come convertire una classe di dati in Kotlin in una stringa JSON e viceversa utilizzando la libreria Java Gson.

2. Dipendenza da Maven

Prima di iniziare, aggiungiamo Gson al nostro pom.xml:

 com.google.code.gson gson 2.8.5 

3. Classe di dati Kotlin

Prima di tutto, creiamo una classe di dati che convertiremo in stringa JSON nelle parti successive dell'articolo:

data class TestModel( val id: Int, val description: String )

La classe TestModel è composta da 2 attributi: id e name . Pertanto, la stringa JSON che ci aspettiamo da Gson sarebbe simile a:

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

4. Conversione dalla classe di dati alla stringa JSON

Ora possiamo usare Gson per convertire gli oggetti della classe TestModel in JSON :

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

In questo esempio, stiamo usando Assert per verificare se l'output di Gson corrisponde al nostro valore atteso.

5. Conversione da stringa JSON a una classe di dati

Ovviamente, a volte dobbiamo convertire da JSON a oggetti dati :

var jsonString = """{"id":1,"description":"Test"}"""; var testModel = gson.fromJson(jsonString, TestModel::class.java) Assert.assertEquals(testModel.id, 1) Assert.assertEquals(testModel.description, "Test")

Qui, stiamo convertendo la stringa JSON in un oggetto TestModel dicendo a Gson di utilizzare TestModel :: class.java poiché Gson è una libreria Java e accetta solo classi Java .

Infine, testiamo se l'oggetto risultato contiene i valori corretti nella stringa originale.

6. Conclusione

In questo rapido articolo, abbiamo discusso come utilizzare Gson in Kotlin per convertire una classe di dati Kotlin in una stringa JSON e viceversa.

Tutti gli esempi, come sempre, possono essere trovati su GitHub.