2017-08-03 109 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)