Sobes.tech
Junior

Wie arbeitet man mit JSON in Kotlin?

sobes.tech KI

Antwort von AI

In Kotlin wird die Arbeit mit JSON meist mit Drittanbieterbibliotheken durchgeführt. Die beliebtesten:

  1. Jackson: Mächtig und flexibel.
  2. Gson: Einfach zu verwenden, von Google.
  3. kotlinx.serialization: Native Serialisierung/Deserialisierung von Kotlin.

Beispiel für die Verwendung von kotlinx.serialization:

  1. Abhängigkeiten in build.gradle.kts hinzufügen:

    // 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. Erstellen einer Data Class zur Modellierung der JSON-Struktur:

    // Data class für JSON-Deserialisierung
    import kotlinx.serialization.Serializable
    
    @Serializable // Annotation für Serialisierung/Deserialisierung
    data class User(
        val name: String,
        val age: Int
    )
    
  3. JSON-String in ein Objekt deserialisieren:

    // JSON-String deserialisieren
    import kotlinx.serialization.json.Json
    
    val jsonString = """{"name":"Alice","age":30}"""
    val user = Json.decodeFromString<User>(jsonString)
    
    // user.name wird "Alice", user.age wird 30
    
  4. Objekt in JSON-String serialisieren:

    // Objekt in JSON-String serialisieren
    import kotlinx.serialization.json.Json
    
    val userToSerialize = User("Bob", 25)
    val jsonOutput = Json.encodeToString(userToSerialize)
    
    // jsonOutput wird {"name":"Bob","age":25}
    

Die Wahl der Bibliothek hängt von den Anforderungen des KMP-Projekts (Kotlin Multiplatform), der Leistung und der Benutzerfreundlichkeit ab. kotlinx.serialization ist die bevorzugte Wahl für KMP-Projekte aufgrund ihrer nativen Natur.