Sobes.tech
Junior

Kā strādāt ar JSON Kotlin?

sobes.tech AI

Atbilde no AI

Kotlin bieži tiek JSON apdorojimui naudojamos trečiųjų šalių bibliotekos. Populiariausios:

  1. Jackson: galinga ir lanksti.
  2. Gson: paprasta naudoti, iš Google.
  3. kotlinx.serialization: Kotlin natūrali serializacija/deserializacija.

Pavyzdys naudojant kotlinx.serialization:

  1. Priklausomybių pridėjimas į build.gradle.kts:

    // build.gradle.kts
    plugins {
        kotlin("jvm") versija "1.9.22"
        kotlin("plugin.serialization") versija "1.9.22"
    }
    
    repositories {
        mavenCentral()
    }
    
    dependencies {
        implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.6.0")
    }
    
  2. Duomenų klasės sukūrimas JSON struktūros modeliui:

    // Duomenų klasė JSON deserializacijai
    import kotlinx.serialization.Serializable
    
    @Serializable // Anotacija serializacijai/deserializacijai
    data class User(
        val name: String,
        val age: Int
    )
    
  3. JSON eilutės deserializacija į objektą:

    // JSON eilutės deserializacija
    import kotlinx.serialization.json.Json
    
    val jsonString = """{"name":"Alice","age":30}"""
    val user = Json.decodeFromString<User>(jsonString)
    
    // user.name bus "Alice", user.age bus 30
    
  4. Objekto serializacija į JSON eilutę:

    // Objekto serializacija į JSON eilutę
    import kotlinx.serialization.json.Json
    
    val userToSerialize = User("Bob", 25)
    val jsonOutput = Json.encodeToString(userToSerialize)
    
    // jsonOutput bus {"name":"Bob","age":25}
    

Bibliotekos pasirinkimas priklauso nuo projekto reikalavimų KMP (Kotlin Multiplatform), našumo ir naudojimo patogumo. kotlinx.serialization yra pageidaujamas pasirinkimas KMP projektuose dėl savo natūralumo.