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

1. Vue d'ensemble

Dans ce court didacticiel, nous verrons comment convertir une classe de données dans Kotlin en chaîne JSON et vice versa à l'aide de la bibliothèque Java Gson.

2. Dépendance de Maven

Avant de commencer, ajoutons Gson à notre pom.xml:

 com.google.code.gson gson 2.8.5 

3. Classe de données Kotlin

Tout d'abord, créons une classe de données que nous convertirons en chaîne JSON dans les dernières parties de l'article:

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

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

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

4. Conversion de la classe de données en chaîne JSON

Maintenant, nous pouvons utiliser Gson pour convertir des objets de la classe TestModel en JSON :

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

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

5. Conversion d'une chaîne JSON en une classe de données

Bien sûr, nous devons parfois convertir JSON en objets de données :

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 objet TestModel en disant à Gson d'utiliser TestModel :: class.java car Gson est une bibliothèque Java et n'accepte que la classe Java .

Enfin, nous testons si l'objet 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 classe de données Kotlin en chaîne JSON et vice versa.

Tous les exemples, comme toujours, peuvent être trouvés sur GitHub.