Rumah > Java > javaTutorial > Bagaimana untuk Menghuraikan JSON dengan Cekap dalam Kotlin?

Bagaimana untuk Menghuraikan JSON dengan Cekap dalam Kotlin?

Susan Sarandon
Lepaskan: 2024-11-23 12:58:10
asal
960 orang telah melayarinya

How to Efficiently Parse JSON in Kotlin?

Menghuraikan JSON dalam Kotlin

Memanipulasi dan menghuraikan JSON ialah tugas penting dalam banyak aplikasi Kotlin. Untuk memproses rentetan JSON dengan berkesan, adalah penting untuk memahami teknik yang sesuai yang tersedia dalam ekosistem Kotlin.

Manipulasi JSON Asli

Keupayaan pengendalian JSON asli Kotlin ialah pendekatan minimalis yang menghapuskan keperluan untuk kebergantungan luar. Pertimbangkan penyelesaian berikut untuk menghuraikan rentetan JSON kepada objek:

import org.json.JSONObject

val jsonString = "{ \"name\": \"John Doe\", \"age\": 30 }"
val json = JSONObject(jsonString)

val name = json.getString("name")
val age = json.getInt("age")
Salin selepas log masuk

Pensirian KotlinX

Pensirian KotlinX ialah perpustakaan penghuraian JSON yang komprehensif yang menawarkan penyirian peringkat tinggi dan keupayaan deserialisasi. Untuk menggunakannya:

  1. Tambahkan kebergantungan berikut pada build.gradle projek anda:

    implementation "org.jetbrains.kotlinx:kotlinx-serialization-json:1.4.0"
    Salin selepas log masuk
  2. Tentukan kelas data anda dengan anotasi @Serializable :

    @Serializable
    data class Person(val name: String, val age: Int)
    Salin selepas log masuk
  3. Hilangkan JSON rentetan menggunakan objek Json:

    val jsonString = "{ \"name\": \"Jane Doe\", \"age\": 35 }"
    val person = Json.decodeFromString(Person.serializer(), jsonString)
    Salin selepas log masuk

Mengalamatkan Objek Bersarang

Jackson's StdDeserializer membenarkan objek desiri dengan sifat bersarang, tetapi mengaksesnya dalam yang lain deserializer boleh mencabar. Pensirilan KotlinX menawarkan penyelesaian melalui mekanisme penyahsiran tersuainya. Berikut ialah contoh:

import kotlinx.serialization.json.JsonObject
import kotlinx.serialization.json.JsonTreeParser
import kotlinx.serialization.KSerializer

class NestedObjectDeserializer : KSerializer<MyObject> {
    override fun serialize(output: Encoder, value: MyObject) = error("not implemented")
    override fun deserialize(input: Decoder): MyObject {
        val parser = JsonTreeParser(input)
        val jsonObject = parser.parse(JsonObject::class)
        val key = jsonObject["key"] as JsonObject
        return MyObject(key["innerValue"] as JsonPrimitive)
    }
}
Salin selepas log masuk

Kesimpulan

Sama ada anda lebih suka pengendalian JSON asli atau Pensirilan KotlinX, penyelesaian ini menyediakan cara yang berkesan untuk menghuraikan rentetan JSON dalam Kotlin. Manipulasi JSON asli ialah pilihan yang lebih mudah, manakala Pensirian KotlinX menawarkan ciri lanjutan untuk tugasan bersiri dan penyahsirilan yang kompleks.

Atas ialah kandungan terperinci Bagaimana untuk Menghuraikan JSON dengan Cekap dalam Kotlin?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan