默认情况下,Moshi 在序列化中忽略空值,但在某些情况下,我确实想用空值序列化我的对象,我尝试为这种情况创建 @JsonQualifier,但最终结果是忽略了空值。
如何忽略序列化(toJson)中的空值但保留某些特定字段 null ?
例子
@Retention(AnnotationRetention.RUNTIME)
@JsonQualifier
annotation class KeepItNull
data class StackQuestion(val id : Int){
var question : String? = null
@KeepItNull
val answer : String? = null
}
响应应忽略“问题”并包含“答案”字段 - 如下所示:
{
"id": 1,
"answer": null
}