在 Kotlin 中,數(shù)據(jù)類默認(rèn)實(shí)現(xiàn)了序列化和反序列化的功能。要實(shí)現(xiàn)序列化,只需遵循以下步驟:
Person
的數(shù)據(jù)類:data class Person(val name: String, val age: Int)
@Serializable
注解標(biāo)記數(shù)據(jù)類。這將告訴 Kotlin 編譯器自動(dòng)生成序列化代理。例如:import kotlinx.serialization.Serializable
@Serializable
data class Person(val name: String, val age: Int)
build.gradle.kts
文件中添加以下依賴:dependencies {
implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.3.0")
}
import kotlinx.serialization.encodeToString
import kotlinx.serialization.json.Json
fun main() {
val person = Person("Alice", 30)
val jsonString = Json.encodeToString(person)
println("Serialized person: $jsonString")
}
import kotlinx.serialization.decodeFromString
import kotlinx.serialization.json.Json
fun main() {
val jsonString = """{"name":"Bob","age":25}"""
val person = Json.decodeFromString<Person>(jsonString)
println("Deserialized person: $person")
}
通過(guò)以上步驟,我們實(shí)現(xiàn)了 Kotlin 數(shù)據(jù)類的序列化和反序列化功能。