首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Kotlin - Jackson忽略空值。

Kotlin - Jackson忽略空值。
EN

Stack Overflow用户
提问于 2017-08-03 08:01:43
回答 1查看 10.6K关注 0票数 6

我在用Jackson解析JSON时遇到了麻烦,我想忽略null属性。这是我的密码。

代码语言:javascript
运行
复制
@JsonIgnoreProperties(ignoreUnknown = true)
@JsonInclude(JsonInclude.Include.NON_NULL)
data class ParsedSurvey(
    val items: List<ParsedSurveyItem> = listOf()
)

@JsonIgnoreProperties(ignoreUnknown = true)
@JsonInclude(JsonInclude.Include.NON_NULL)
data class ParsedSurveyItem(
    val type: String = "",
    val text: String = "",
    val instructions: String = "",
    val prog: String = "",
    val `var`: String = "",
    val columns: List<ParsedSurveyAnswer> = listOf(),
    val rows: List<ParsedSurveyAnswer> = listOf(),
    val num: String = "",
    val multi: Boolean = false,
    val random: Boolean = false,
    val min: Int = -1,
    val max: Int = -1,
    val recordOrder: Boolean = false,
    val rowLength: Int = -1
)

@JsonIgnoreProperties(ignoreUnknown = true)
@JsonInclude(JsonInclude.Include.NON_NULL)
data class ParsedSurveyAnswer @JsonCreator(mode = JsonCreator.Mode.PROPERTIES) constructor(
    val text: String = "",
    val prog: String = "<p></p>",
    @JsonProperty("isOpen") val isOpen: Boolean = false
)

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

代码语言:javascript
运行
复制
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 

为什么Jackson解析空值?谢谢你帮忙。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-08-03 19:18:21

只有当rows属性为null为空时,才能设置它。意思是把它改成

代码语言:javascript
运行
复制
 val rows: List<ParsedSurveyAnswer>? 

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

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45478253

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档