Sobes.tech
Junior

Kotlin'da JSON bilan qanday ishlash mumkin?

sobes.tech AI

AIdan javob

Kotlinda JSON bilan ishlash odatda uchinchi tomon kutubxonalari yordamida amalga oshiriladi. Eng mashhurlari:

  1. Jackson: Kuchli va moslashuvchan.
  2. Gson: Google tomonidan, foydalanish oson.
  3. kotlinx.serialization: Kotlinning tabiiy serializatsiya/deserializatsiyasi.

kotlinx.serialization dan foydalanish misoli:

  1. build.gradle.kts faylida bog'liqliklarni qo'shing:

    // 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. JSON tuzilmasini modellash uchun data class yarating:

    // JSON deserializatsiyasi uchun data class
    import kotlinx.serialization.Serializable
    
    @Serializable // Serializatsiya/deserializatsiya uchun annotatsiya
    data class User(
        val name: String,
        val age: Int
    )
    
  3. JSON satrini ob'ektga deserializatsiya qilish:

    // JSON satrini deserializatsiya qilish
    import kotlinx.serialization.json.Json
    
    val jsonString = """{"name":"Alice","age":30}"""
    val user = Json.decodeFromString<User>(jsonString)
    
    // user.name "Alice" bo'ladi, user.age 30 bo'ladi
    
  4. Ob'ektni JSON satriga serializatsiya qilish:

    // Ob'ektni JSON satriga serializatsiya qilish
    import kotlinx.serialization.json.Json
    
    val userToSerialize = User("Bob", 25)
    val jsonOutput = Json.encodeToString(userToSerialize)
    
    // jsonOutput {"name":"Bob","age":25} bo'ladi
    

Kutubxona tanlovi loyiha talablariga, ishlash tezligiga va qulayligiga bog'liq. kotlinx.serialization KMP loyihalari uchun afzal tanlov, chunki u tabiiy.