kotlin: 使用Kotlin Serialization库
一,在项目中添加 Kotlin Serialization 插件和依赖
编辑libs.versions.toml,增加以下内容:
[versions]
kotlin = "2.0.21"
kotlinxSerializationJson = "1.9.0"
[libraries]
# kotlin json 序列化
kotlinx-serialization-json = { module = "org.jetbrains.kotlinx:kotlinx-serialization-json", version.ref = "kotlinxSerializationJson" }
[plugins]
kotlin-serialization = { id = "org.jetbrains.kotlin.plugin.serialization", version.ref = "kotlin" }
编辑build.gradle.kts,增加以下内容:
plugins {
alias(libs.plugins.kotlin.serialization)
}
dependencies {
// kotlin json 序列化
implementation(libs.kotlinx.serialization.json)
}
二,代码
定义一个数据类
import kotlinx.serialization.Serializable
import kotlinx.serialization.SerialName
import kotlinx.serialization.encodeToString
import kotlinx.serialization.json.Json
@InternalSerializationApi
@Serializable
data class User(
// @SerialName 注解允许我们自定义序列化后的字段名
// 这在与后端 API 对接时特别有用,比如 MongoDB 默认使用 _id 作为主键
@SerialName("_id")
val id: Int,
val name: String,
val email: String
)
调用:
//按钮点击
binding.getJsonButton.setOnClickListener {
// 创建测试数据
val user = User(1, "谢广坤", "guangkun@google.com")
// 序列化为 JSON 字符串
// 注意这里直接使用 Json.encodeToString(user),不需要显式传入序列化器
// 这是因为 @Serializable 注解会在编译期自动生成所需的序列化器
val jsonString = Json.encodeToString(user)
println("对象:"+user)
println("json字串:${jsonString}")
三,运行结果:
![]()
浙公网安备 33010602011771号