Junior
Come lavorare con JSON in Kotlin?
sobes.tech AI
Risposta dell'AI
In Kotlin, lavorare con JSON viene generalmente effettuato utilizzando librerie di terze parti. Le più popolari:
- Jackson: Potente e flessibile.
- Gson: Facile da usare, di Google.
- kotlinx.serialization: Serializzazione/deserializzazione nativa di Kotlin.
Esempio di utilizzo di kotlinx.serialization:
-
Aggiungi le dipendenze 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") } -
Crea una data class per modellare la struttura JSON:
// Data class per deserializzare JSON import kotlinx.serialization.Serializable @Serializable // Annotazione per serializzazione/deserializzazione data class User( val name: String, val age: Int ) -
Deserializza una stringa JSON in un oggetto:
// Deserializzazione di stringa JSON import kotlinx.serialization.json.Json val jsonString = """{"name":"Alice","age":30}""" val user = Json.decodeFromString<User>(jsonString) // user.name sarà "Alice", user.age sarà 30 -
Serializza un oggetto in una stringa JSON:
// Serializza oggetto in stringa JSON import kotlinx.serialization.json.Json val userToSerialize = User("Bob", 25) val jsonOutput = Json.encodeToString(userToSerialize) // jsonOutput sarà {"name":"Bob","age":25}
La scelta della libreria dipende dai requisiti del progetto KMP (Kotlin Multiplatform), dalla performance e dalla facilità d'uso. kotlinx.serialization è la scelta preferita per i progetti KMP grazie alla sua natura nativa.