Sobes.tech
Junior

Kako raditi sa JSON u Kotlinu?

sobes.tech АИ

Одговор од АИ

У 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 пројекте због своје нативности.