Android中Ktor REST接口null字段缺失问题咨询
解决Ktor中Gson不返回null字段的问题
问题根源是Gson默认会忽略值为null的字段,不将其序列化到响应中。要让null字段正常显示,只需在配置ContentNegotiation时,自定义Gson实例并开启serializeNulls选项即可。
修改ContentNegotiation配置
将原来的默认Gson配置:
install(ContentNegotiation) { gson() }
替换为带自定义配置的版本:
install(ContentNegotiation) { gson { serializeNulls() // 开启序列化null字段 } }
验证效果
修改后,当你返回包含pending: null的Map时,响应中就会正常包含该字段,例如返回结果会是:
{ "pending": null, // 其他字段... }
这个配置对数据类同样生效,只要字段值为null,都会被序列化到响应里。
内容的提问来源于stack exchange,提问作者alpheonix
相关产品推荐
相关产品推荐

