在 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 数据类的序列化和反序列化功能。