Sobes.tech
Junior

Ինչպես աշխատել JSON-ով Kotlin-ում?

sobes.tech AI

Պատասխան AI-ից

Kotlin-ում JSON-ի հետ աշխատելը սովորաբար կատարվում է երրորդ կողմի գրադարանների միջոցով: Ամենատարածվածները:

  1. Jackson: Ուժեղ և ճկուն:
  2. Gson: Հեշտ օգտագործման համար, Google-ից:
  3. kotlinx.serialization: Kotlin-ի բնօրինակ սերիալիզացիա/դեսերիալիզացիա:

Օրինակ kotlinx.serialization-ի օգտագործման:

  1. Ավելացրեք կախվածությունները 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. Ստեղծեք data class JSON կառուցվածքը մոդելավորելու համար:

    // Data class JSON-ի դեսերիալիզացման համար
    import kotlinx.serialization.Serializable
    
    @Serializable // Անոտացիա սերիալիզացիայի/դեսերիալիզացիայի համար
    data class User(
        val name: String,
        val age: Int
    )
    
  3. Դեսերիալիզացրեք JSON տողը օբյեկտի:

    // JSON տողի դեսերիալիզացիա
    import kotlinx.serialization.json.Json
    
    val jsonString = """{"name":"Alice","age":30}"""
    val user = Json.decodeFromString<User>(jsonString)
    
    // user.name կլինի "Alice", user.age կլինի 30
    
  4. Սերիալիզացրեք օբյեկտը JSON տող:

    // Օբյեկտի սերիալիզացիա JSON տող
    import kotlinx.serialization.json.Json
    
    val userToSerialize = User("Bob", 25)
    val jsonOutput = Json.encodeToString(userToSerialize)
    
    // jsonOutput կլինի {"name":"Bob","age":25}
    

Ընտրությունը գրադարանի կախված է KMP (Kotlin Multiplatform) նախագծի պահանջներից, կատարողականությունից և օգտագործման հարմարությունից: kotlinx.serialization-ը նախընտրելի ընտրությունն է KMP նախագծերի համար, քանի որ այն բնօրինակ է: