Sobes.tech
Junior

Cum să lucrezi cu JSON în Kotlin?

sobes.tech AI

Răspuns de la AI

În Kotlin, lucrul cu JSON se face de obicei folosind biblioteci terțe. Cele mai populare:

  1. Jackson: Puternic și flexibil.
  2. Gson: Ușor de utilizat, de Google.
  3. kotlinx.serialization: Serializare/deserializare nativă Kotlin.

Exemplu de utilizare a kotlinx.serialization:

  1. Adăugați dependențe în 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. Creați o clasă data pentru modelarea structurii JSON:

    // Clasă data pentru deserializarea JSON
    import kotlinx.serialization.Serializable
    
    @Serializable // Anotare pentru serializare/deserializare
    data class User(
        val name: String,
        val age: Int
    )
    
  3. Deserializați un șir JSON într-un obiect:

    // Deserializare șir JSON
    import kotlinx.serialization.json.Json
    
    val jsonString = """{"name":"Alice","age":30}"""
    val user = Json.decodeFromString<User>(jsonString)
    
    // user.name va fi "Alice", user.age va fi 30
    
  4. Serializați un obiect într-un șir JSON:

    // Serializare obiect într-un șir JSON
    import kotlinx.serialization.json.Json
    
    val userToSerialize = User("Bob", 25)
    val jsonOutput = Json.encodeToString(userToSerialize)
    
    // jsonOutput va fi {"name":"Bob","age":25}
    

Alegerea bibliotecii depinde de cerințele proiectului KMP (Kotlin Multiplatform), performanță și ușurința în utilizare. kotlinx.serialization este opțiunea preferată pentru proiectele KMP datorită naturii sale native.