Conversion de la classe de données Kotlin à partir de JSON à l’aide de GSON

Conversion de la classe de données Kotlin à partir de JSON à l'aide de GSON

1. Vue d'ensemble

Dans ce court didacticiel, nous allons expliquer commentconvert a data class in Kotlin to JSON string and vice versa using Gson Java library.

2. Dépendance Maven

Avant de commencer, ajoutonsGson à nospom.xml:


    com.google.code.gson
    gson
    2.8.5

3. KotlinData Class

Tout d'abord, créons undata class que nous convertirons en chaîne JSON dans les parties ultérieures de l'article:

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

La classeTestModel se compose de 2 attributs:id etname. Par conséquent, la chaîne JSON que nous attendons de Gson ressemblerait à ceci:

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

4. Conversion deData Class en chaîne JSON

Maintenant, nous pouvons utiliser Gson pourconvert objects of TestModel class to JSON:

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

Dans cet exemple, nous utilisonsAssert pour vérifier si la sortie de Gson correspond à notre valeur attendue.

5. Conversion d'une chaîne JSON en unData Class

Bien sûr, nous avons parfois besoin deconvert from JSON to data objects:

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

Ici, nous convertissons la chaîne JSON en un objetTestModel en indiquant à Gson d'utiliserTestModel::class.java asGson is a Java library and only accepts Java class.

Enfin, nous testons si l'objet de résultat contient les valeurs correctes dans la chaîne d'origine.

6. Conclusion

Dans cet article rapide, nous avons expliqué comment utiliser Gson dans Kotlin pour convertir une chaîne Kotlindata class en chaîne JSON et vice versa.

Tous les exemples, comme toujours, peuvent être trouvésover on GitHub.