Sobes.tech
Junior

Kuidas töötada JSON-iga Kotlinis?

sobes.tech AI

Vastus AI-lt

Kotlinis sageli JSON-i töötlemiseks kasutab kolmanda osapo teeke. Populaarsed on:

  1. Jackson: võimas ja paindlik.
  2. Gson: lihtne kasutada, Google'i poolt.
  3. kotlinx.serialization: Kotlin'i sisseehitatud serialiseerimine/deserialiseerimine.

Näide kotlinx.serialization kasutamisest:

  1. sõltuvuste lisamine build.gradle.kts-s:

    // build.gradle.kts
    pluginad {
        kotlin("jvm") versioon "1.9.22"
        kotlin("plugin.serialization") versioon "1.9.22"
    }
    
    repositories {
        mavenCentral()
    }
    
    dependencies {
        implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.6.0")
    }
    
  2. andmete klassi loomine JSON-struktuuri modelleerimiseks:

    // Data klass JSON-i deserialiseerimiseks
    import kotlinx.serialization.Serializable
    
    @Serializable // Anotatsioon serialiseerimiseks/deserialiseerimiseks
    data class User(
        val name: String,
        val age: Int
    )
    
  3. JSON-stringi deserialiseerimine objekti:

    // JSON stringi deserialiseerimine
    import kotlinx.serialization.json.Json
    
    val jsonString = """{"name":"Alice","age":30}"""
    val user = Json.decodeFromString<User>(jsonString)
    
    // user.name on "Alice", user.age on 30
    
  4. Objekti serialiseerimine JSON-stringiks:

    // Objekti serialiseerimine JSON-stringiks
    import kotlinx.serialization.json.Json
    
    val userToSerialize = User("Bob", 25)
    val jsonOutput = Json.encodeToString(userToSerialize)
    
    // jsonOutput on {"name":"Bob","age":25}
    

Valik sõltub projekti nõuetest KMP (Kotlin Multiplatform), jõudlusest ja kasutusmugavusest. kotlinx.serialization on eelistatud valik KMP projektidele oma loomulikkuse tõttu.