Cómo parsear JSON en Kotlin: mejores bibliotecas y ejemplos de código
¡Hola, colegas! Acabo de empezar a aprender Kotlin después de Java y me encontré con una tarea típica: necesito parsear una string JSON a un objeto. En Java usaba Gson o Jackson, pero en Kotlin quiero hacerlo de manera elegante e idiomática.
Tengo este JSON de una API:
{
"userId": 1,
"id": 1,
"title": "delectus aut autem",
"completed": false
}
Intenté usar el JSONObject incorporado del Android SDK, pero el código queda horrible:
val jsonString = """{"userId":1,"id":1,"title":"delectus aut autem","completed":false}"""
val jsonObject = JSONObject(jsonString)
val userId = jsonObject.getInt("userId")
val id = jsonObject.getInt("id")
val title = jsonObject.getString("title")
val completed = jsonObject.getBoolean("completed")
¡Esto es un infierno! Para cada campo hay que escribir una llamada separada, es fácil equivocarse en el nombre del campo, y los tipos hay que indicarlos manualmente. Y si el JSON es anidado o contiene arrays, es una pesadilla total.
Díganme