Kotlin:
Arbeider med JSON
Hvordan:
Kotlin inkluderer ikke innebygd støtte for JSON, men benytter seg av kraftige funksjoner fra tredjepartsbiblioteker som Gson
fra Google og Kotlinx.serialization
fra JetBrains. Her er hvordan du kan bruke begge til å arbeide med JSON.
Bruke Gson
Legg til Gson-avhengigheten i din build.gradle
-fil:
implementation 'com.google.code.gson:gson:2.8.9'
Parse en JSON-streng til et objekt og omvendt:
import com.google.gson.Gson
// Definer en dataklasse
data class User(val name: String, val age: Int)
fun main() {
val gson = Gson()
// Serialisere
val json = gson.toJson(User("John Doe", 30))
println(json) // Utdata: {"name":"John Doe","age":30}
// Deserialisere
val user: User = gson.fromJson(json, User::class.java)
println(user) // Utdata: User(name=John Doe, age=30)
}
Bruke Kotlinx.serialization
Først, inkluder avhengigheten i din build.gradle
:
implementation "org.jetbrains.kotlinx:kotlinx-serialization-json:1.3.3"
Deretter, bruk kotlinx-serialization
-pluginen øverst i byggscriptet ditt:
plugins {
kotlin("jvm") version "1.6.10"
kotlin("plugin.serialization") version "1.6.10"
}
Serialisering og deserialisering med Kotlinx.serialization:
import kotlinx.serialization.*
import kotlinx.serialization.json.*
// Definer en serialiserbar dataklasse
@Serializable
data class User(val name: String, val age: Int)
fun main() {
// Serialisere
val json = Json.encodeToString(User("Jane Doe", 28))
println(json) // Utdata: {"name":"Jane Doe","age":28}
// Deserialisere
val user = Json.decodeFromString<User>(json)
println(user) // Utdata: User(name=Jane Doe, age=28)
}
Både Gson og Kotlinx.serialization forenkler arbeid med JSON i Kotlin-applikasjoner, å velge den ene over den andre avhenger av dine spesifikke prosjektkrav og personlige preferanser.