在 Kotlin 中,數據類默認實現了序列化和反序列化的功能。要實現序列化,只需遵循以下步驟:
Person
的數據類:data class Person(val name: String, val age: Int)
@Serializable
注解標記數據類。這將告訴 Kotlin 編譯器自動生成序列化代理。例如: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")
}
通過以上步驟,我們實現了 Kotlin 數據類的序列化和反序列化功能。