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")
Pensirian KotlinX
Pensirian KotlinX ialah perpustakaan penghuraian JSON yang komprehensif yang menawarkan penyirian peringkat tinggi dan keupayaan deserialisasi. Untuk menggunakannya:
Tambahkan kebergantungan berikut pada build.gradle projek anda:
implementation "org.jetbrains.kotlinx:kotlinx-serialization-json:1.4.0"
Tentukan kelas data anda dengan anotasi @Serializable :
@Serializable data class Person(val name: String, val age: Int)
Hilangkan JSON rentetan menggunakan objek Json:
val jsonString = "{ \"name\": \"Jane Doe\", \"age\": 35 }" val person = Json.decodeFromString(Person.serializer(), jsonString)
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) } }
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!