Sobes.tech
Junior

Comment travailler avec JSON en Kotlin?

sobes.tech IA

Réponse de l'IA

En Kotlin, le travail avec JSON se fait généralement à l'aide de bibliothèques tierces. Les plus populaires:

  1. Jackson: Puissant et flexible.
  2. Gson: Facile à utiliser, de Google.
  3. kotlinx.serialization: Sérialisation/désérialisation native de Kotlin.

Exemple d'utilisation de kotlinx.serialization:

  1. Ajoutez des dépendances dans 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. Créez une data class pour modéliser la structure JSON:

    // Data class pour désérialiser JSON
    import kotlinx.serialization.Serializable
    
    @Serializable // Annotation pour sérialisation/désérialisation
    data class User(
        val name: String,
        val age: Int
    )
    
  3. Désérialiser une chaîne JSON en un objet:

    // Désérialisation de chaîne JSON
    import kotlinx.serialization.json.Json
    
    val jsonString = """{"name":"Alice","age":30}"""
    val user = Json.decodeFromString<User>(jsonString)
    
    // user.name sera "Alice", user.age sera 30
    
  4. Sérialiser un objet en une chaîne JSON:

    // Sérialisation d'un objet en chaîne JSON
    import kotlinx.serialization.json.Json
    
    val userToSerialize = User("Bob", 25)
    val jsonOutput = Json.encodeToString(userToSerialize)
    
    // jsonOutput sera {"name":"Bob","age":25}
    

Le choix de la bibliothèque dépend des exigences du projet KMP (Kotlin Multiplatform), de la performance et de la facilité d'utilisation. kotlinx.serialization est le choix préféré pour les projets KMP en raison de sa nature native.