2017-08-03 105 views
1

我在解析JSON时遇到了麻烦,我想忽略空属性。这是我的代码。Kotlin - Jackson忽略空值

如果我尝试将ParsedSurveyItem中的rows属性设置为null。我得到这个错误:

value failed for JSON property rows due to missing (therefore NULL) value for creator parameter rows which is a non-nullable type. 
Jackson doesn't ignore 

为什么杰克逊分析空值?感谢帮助。

+0

当你使用'JsonInclude.Include.NON_EMPTY',而不是'NON_NULL'会发生什么? –

+0

它引发同样的错误。与NON_NULL –

+0

一样,我通常只是在反序列化JSON时将所有内容都设为空,以免遇到类似错误,不知道是否有解决方法。我相信杰克逊使用默认构造函数,这意味着它不考虑您的默认值。 –

回答

2

只有当其属性为空时,才可以设置行属性null。这意味着 将其更改为

val rows: List<ParsedSurveyAnswer>? 

您也可以删除listOf() & @JsonIgnoreProperties(ignoreUnknown = true)