跳到主要内容

1 篇博文 含有标签「kotlinx.serialization」

查看所有标签

Kotlin 序列化实战:用 @Serializable 告别手写 JSON 解析的噩梦

· 阅读需 6 分钟
重庆 Kotlin User Group

你一定经历过这种痛苦:后端甩给你一个 JSON,你得手动解析每个字段,稍有不慎就 NullPointerException 或者类型转换错误。就算用 Gson 或 Moshi,也得写一堆 TypeAdapter,或者忍受反射带来的性能开销。

// 用 Gson 解析 JSON 的"经典"写法
val user = Gson().fromJson(jsonString, User::class.java)
// 如果 JSON 里多了个字段?Gson 默认忽略,你完全不知道
// 如果字段类型不对?运行时直接炸
// 如果要用 ProGuard 混淆?还得加 keep 规则

Kotlin 官方的 kotlinx.serialization 库,用一个 @Serializable 注解就能解决这些问题——编译期生成序列化代码,零反射,类型安全,还跨平台(JVM/JS/Native 通吃)。