gpt4 book ai didi

java - 如何设置 jackson 为假时忽略 boolean 属性?

转载 作者:行者123 更新时间:2023-11-29 08:28:11 25 4
gpt4 key购买 nike

我使用 Jackson,ObjectMapper.readValue(json, Class)。

上课:

Component {
private String name;
private String someField;
private boolean show = true; // if false -> skip it object
}

和可扩展类:

ExtendedComponent extends Component {
private List<Component> components = emptyList();// if all of object in list not showed -> skip field
}

和复杂类:

ComplexComponent extends Component {
ExtendedComponent component;
}

和 json:

{
"complexComponent": {
"name": "complexName1",
"show": true,
"someField": "complex",
"extendedComponent": {
"components": [
{
"name": "someName1",
"show": true,
"someField": "someField"
},
{
"name": "someName2",
"show": false,
"someField": "someField"
},
{
"name": "someName3",
"show": true,
"someField": "someField"
}
]
}
}
}

ExtendedComponent 中如何只获取名称为 someName1 和 someName3 的对象?

如果未显示所有组件,如何获取可为空的 ComplexComponent?

最佳答案

取决于你的 jackson 2 版本

@JsonInclude(Include.NON_DEFAULT)

@JsonInclude(Include.NON_EMPTY)

应该可以解决问题。

关于java - 如何设置 jackson 为假时忽略 boolean 属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50655009/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com