Sobes.tech
Junior

¿Cómo trabajar con JSON en Kotlin?

sobes.tech AI

Respuesta de la IA

En Kotlin, trabajar con JSON generalmente se realiza utilizando bibliotecas de terceros. Las más populares:

  1. Jackson: Potente y flexible.
  2. Gson: Fácil de usar, de Google.
  3. kotlinx.serialization: Serialización/deserialización nativa de Kotlin.

Ejemplo de uso de kotlinx.serialization:

  1. Añadir dependencias en build.gradle.kts:

    // build.gradle.kts
    plugins {
        kotlin("jvm") version "1.9.22"
        kotlin("plugin.serialization") version "1.9.22"
    }
    
    repositories {
        mavenCentral()
    }
    
    dependencies {
        implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.6.0")
    }
    
  2. Crear una data class para modelar la estructura JSON:

    // Data class para deserializar JSON
    import kotlinx.serialization.Serializable
    
    @Serializable // Anotación para serialización/deserialización
    data class User(
        val name: String,
        val age: Int
    )
    
  3. Deserializar una cadena JSON en un objeto:

    // Deserialización de cadena JSON
    import kotlinx.serialization.json.Json
    
    val jsonString = """{"name":"Alice","age":30}"""
    val user = Json.decodeFromString<User>(jsonString)
    
    // user.name será "Alice", user.age será 30
    
  4. Serializar un objeto en una cadena JSON:

    // Serialización de objeto a cadena JSON
    import kotlinx.serialization.json.Json
    
    val userToSerialize = User("Bob", 25)
    val jsonOutput = Json.encodeToString(userToSerialize)
    
    // jsonOutput será {"name":"Bob","age":25}
    

La elección de la biblioteca depende de los requisitos del proyecto KMP (Kotlin Multiplatform), rendimiento y facilidad de uso. kotlinx.serialization es la opción preferida para proyectos KMP debido a su naturaleza nativa.