You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为Kotlin Retrofit2反序列化转换器配置ignoreUnknownKeys

配置Retrofit2忽略JSON未知键(Kotlin)

默认行为说明

你当前使用的是kotlinx.serialization的Json.asConverterFactory,它的默认行为是不忽略未知JSON键——如果返回的JSON里存在数据类未定义的字段,解析时会抛出SerializationException异常。

配置方法

要启用忽略未知键的功能,你需要先创建一个配置好的Json实例,再将其传入Retrofit的转换器工厂:

  1. 定义带忽略配置的Json实例:
val json = Json {
    ignoreUnknownKeys = true
    // 可选:可添加其他序列化配置,比如 coerceInputValues = true(自动处理空值或类型不匹配)
}
  1. 修改Retrofit构建代码,使用这个自定义的Json实例:
private val retrofit = Retrofit.Builder()
    .addConverterFactory(json.asConverterFactory("application/json".toMediaType()))
    .baseUrl(baseUrl)
    .build()

验证说明

配置完成后,只要你的数据类标注了@Serializable注解,Retrofit在解析JSON时就会自动跳过所有未在数据类中定义的字段,只解析你声明的部分。

内容的提问来源于stack exchange,提问作者BobDoolittle

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 04:17:03