Sobes.tech
Junior

Hogyan dolgozzunk JSON-nal Kotlinben?

sobes.tech MI

Válasz az MI-től

Kotlinban a JSON-nal való munka általában harmadik fél könyvtárak segítségével történik. A legnépszerűbbek:

  1. Jackson: Erőteljes és rugalmas.
  2. Gson: Egyszerű használni, a Google-től.
  3. kotlinx.serialization: Natív serializáció/deserializáció Kotlinban.

A kotlinx.serialization használatának példája:

  1. Add hozzá a függőségeket a build.gradle.kts-hez:

    // 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. Hozz létre egy data class-t a JSON struktúra modellezéséhez:

    // Data class a JSON deszerializálásához
    import kotlinx.serialization.Serializable
    
    @Serializable // Annotáció a serializáció/deserializáció számára
    data class User(
        val name: String,
        val age: Int
    )
    
  3. Deszerializáld a JSON sztringet egy objektummá:

    // JSON sztring deszerializálása
    import kotlinx.serialization.json.Json
    
    val jsonString = """{"name":"Alice","age":30}"""
    val user = Json.decodeFromString<User>(jsonString)
    
    // user.name "Alice" lesz, user.age 30 lesz
    
  4. Serializáld az objektumot JSON sztringgé:

    // Objektum serializálása JSON sztringgé
    import kotlinx.serialization.json.Json
    
    val userToSerialize = User("Bob", 25)
    val jsonOutput = Json.encodeToString(userToSerialize)
    
    // jsonOutput {"name":"Bob","age":25} lesz
    

A könyvtár kiválasztása a KMP (Kotlin Multiplatform) projekt követelményeitől, a teljesítménytől és a használat kényelmétől függ. A kotlinx.serialization a natív támogatásának köszönhetően az első választás KMP projektekhez.