Sobes.tech
Junior

Hoe werk je met JSON in Kotlin?

sobes.tech AI

Antwoord van AI

In Kotlin wordt met JSON gewerkt meestal met behulp van externe bibliotheken. De populairste:

  1. Jackson: Krachtig en flexibel.
  2. Gson: Eenvoudig in gebruik, van Google.
  3. kotlinx.serialization: Native serialisatie/deserialisatie van Kotlin.

Voorbeeld van gebruik van kotlinx.serialization:

  1. Voeg afhankelijkheden toe in 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. Maak een data class voor het modelleren van de JSON-structuur:

    // Data class voor deserialisatie van JSON
    import kotlinx.serialization.Serializable
    
    @Serializable // Annotatie voor serialisatie/deserialisatie
    data class User(
        val name: String,
        val age: Int
    )
    
  3. Deserialiseer een JSON-string naar een object:

    // Deserialisatie van JSON-string
    import kotlinx.serialization.json.Json
    
    val jsonString = """{"name":"Alice","age":30}"""
    val user = Json.decodeFromString<User>(jsonString)
    
    // user.name wordt "Alice", user.age wordt 30
    
  4. Seriëleer een object naar een JSON-string:

    // Seriëleer een object naar JSON-string
    import kotlinx.serialization.json.Json
    
    val userToSerialize = User("Bob", 25)
    val jsonOutput = Json.encodeToString(userToSerialize)
    
    // jsonOutput wordt {"name":"Bob","age":25}
    

De keuze van bibliotheek hangt af van de eisen van het KMP-project (Kotlin Multiplatform), de prestaties en het gebruiksgemak. kotlinx.serialization is de voorkeurskeuze voor KMP-projecten vanwege de native ondersteuning.