在 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)
- 使用 Kotlin 提供的序列化库(如 kotlinx.serialization)进行序列化和反序列化操作。首先,确保将 kotlinx.serialization 库添加到项目的依赖项中。对于 Gradle 项目,在
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") }
- 反序列化 JSON 字符串为数据类实例:
import kotlinx.serialization.decodeFromString import kotlinx.serialization.json.Json fun main() { val jsonString = """{"name":"Bob","age":25}""" val person = Json.decodeFromString(jsonString) println("Deserialized person: $person") }
通过以上步骤,我们实现了 Kotlin 数据类的序列化和反序列化功能。