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 проекти поради своята нативност.