Conversión de la clase de datos Kotlin de JSON usando GSON

1. Información general

En este breve tutorial, discutiremos cómo convertir una clase de datos en Kotlin a una cadena JSON y viceversa usando la biblioteca Gson Java.

2. Dependencia de Maven

Antes de comenzar, agreguemos Gson a nuestro pom.xml:

 com.google.code.gson gson 2.8.5 

3. Clase de datos de Kotlin

En primer lugar, creemos una clase de datos que convertiremos a una cadena JSON en las últimas partes del artículo:

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

La clase TestModel consta de 2 atributos: id y nombre . Por lo tanto, la cadena JSON que esperamos de Gson se vería así:

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

4. Conversión de clase de datos a cadena JSON

Ahora, podemos usar Gson para convertir objetos de la clase TestModel a JSON :

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

En este ejemplo, estamos usando Assert para verificar si la salida de Gson coincide con nuestro valor esperado.

5. Conversión de una cadena JSON a una clase de datos

Por supuesto, a veces necesitamos convertir de JSON a objetos de datos :

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

Aquí, estamos convirtiendo la cadena JSON en un objeto TestModel diciéndole a Gson que use TestModel :: class.java ya que Gson es una biblioteca Java y solo acepta clases Java .

Finalmente, probamos si el objeto de resultado contiene los valores correctos en la cadena original.

6. Conclusión

En este artículo rápido, hemos discutido cómo usar Gson en Kotlin para convertir una clase de datos Kotlin en una cadena JSON y viceversa.

Todos los ejemplos, como siempre, se pueden encontrar en GitHub.