Sobes.tech
Junior

Πώς να εργαστείτε με JSON σε Kotlin;

sobes.tech AI

Απάντηση από AI

Στην Kotlin, η εργασία με JSON γίνεται συνήθως με τη χρήση βιβλιοθηκών τρίτων. Οι πιο δημοφιλείς:

  1. Jackson: Ισχυρή και ευέλικτη.
  2. Gson: Εύκολη στη χρήση, από την Google.
  3. kotlinx.serialization: Ενσωματωμένη σειριοποίηση/αποσειριοποίηση της Kotlin.

Παράδειγμα χρήσης του kotlinx.serialization:

  1. Προσθέστε εξαρτήσεις στο 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. Δημιουργήστε μια data class για το μοντελοποίηση της δομής JSON:

    // Data class για αποσειριοποίηση JSON
    import kotlinx.serialization.Serializable
    
    @Serializable // Ανάθεση για σειριοποίηση/αποσειριοποίηση
    data class User(
        val name: String,
        val age: Int
    )
    
  3. Αποσειριοποιήστε μια συμβολοσειρά JSON σε αντικείμενο:

    // Αποσειριοποίηση JSON string
    import kotlinx.serialization.json.Json
    
    val jsonString = """{"name":"Alice","age":30}"""
    val user = Json.decodeFromString<User>(jsonString)
    
    // user.name θα είναι "Alice", user.age θα είναι 30
    
  4. Σειριοποιήστε ένα αντικείμενο σε μια συμβολοσειρά JSON:

    // Σειριοποίηση αντικειμένου σε JSON string
    import kotlinx.serialization.json.Json
    
    val userToSerialize = User("Bob", 25)
    val jsonOutput = Json.encodeToString(userToSerialize)
    
    // jsonOutput θα είναι {"name":"Bob","age":25}
    

Η επιλογή της βιβλιοθήκης εξαρτάται από τις απαιτήσεις του έργου KMP (Kotlin Multiplatform), την απόδοση και την ευκολία χρήσης. Το kotlinx.serialization είναι η προτιμώμενη επιλογή για έργα KMP λόγω της ενσωματωμένης υποστήριξής του.