Skip to content
阅读进度

JSON 解析为什么容易线上崩溃? ​

返回 网络与设备通信 目录

标准回答 ​

服务端可能返回缺字段、显式 null、类型变化或非预期枚举值;客户端模型如果把这些情况当作不可能,就会在解析或使用数据时失败。应在传输模型与业务模型之间做校验和容错转换。

机制解释 ​

Kotlin 的非空声明不是对外部 JSON 的万能验证器,具体表现还取决于序列化库与配置。大 JSON 解析、复杂映射或数据库写入都可能耗时,不能因为网络使用异步接口就默认后处理对主线程安全。

延伸追问 ​

接口加了新字段就一定不兼容吗?通常可通过忽略未知字段等策略兼容;删字段、改类型、改变业务含义更危险。还要在开启混淆的 release 包验证反射模型、泛型信息和必要保留规则。

内容来源 ​

用完整回答理解机制,用真实证据解释项目。