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.