java - Jackson-xml 不解析嵌套对象
问题描述
Jackson 没有正确地将 xml 解析为 java 对象。尽管在 xml 中此对象具有值,但它返回 null 对象。作为 null 返回的对象在其他地方使用并且可以工作。
我尝试解析 xml 的一部分(这在 java 对象中为空)并且它有效。
@Getter
@Setter
@JsonIgnoreProperties
public class Group {
@JacksonXmlElementWrapper(useWrapping = false, localName = "array")
private List<Array> array = new ArrayList<>();
@JacksonXmlElementWrapper(useWrapping = false, localName = "struct")
private List<Struct> struct = new ArrayList<>();
...
}
@Getter
@Setter
@JsonIgnoreProperties(ignoreUnknown = true)
public class Struct {
@JacksonXmlElementWrapper(useWrapping = false)
private List<Par> par = new ArrayList<>();
...
}
@Getter
@Setter
@JsonIgnoreProperties
public class Array {
@JacksonXmlProperty
private Struct struct;
...
}
编辑:有xml文件的例子
<config>
<group name="sys">
<desc>sss</desc>
<define name="DYN">
<const>1</const>
<desc>
</desc>
</define>
<par name="show_time" type="ACT" len="1">
<snmp oid="1">ssss</snmp>
<val>0</val>
<desc>Show system</desc>
</par>
<struct name="compatibility_">
<desc>
</desc>
<par name="link" type="PAR" len="1" range="0,1">
<snmp oid="232">ssss</snmp>
<val>0</val>
<desc>
</desc>
<define name="POLL_AND_INTERRUPT">
<mask>0</mask>
<desc>
</desc>
</par>
</struct>
<array name="DYN_STRUCT" len="1" max="32">
<struct name="script_" key="name">
<desc>
</desc>
<par name="name" type="STRING" len="32">
</par>
</struct>
</array>
</group>
解决方案
推荐阅读
- free-jqgrid - 免费 jqGrid - 超过 1 个自定义软和高级搜索始终进入第一个 decleration
- php - php中的整数除法系统问题
- javascript - 在不同端口之间共享 cookie
- html - 带有子元素的 Flexbox 容器具有设定的最高值,但在 X 轴上的行为仍然类似于 flexBox
- css - 如何“防止”引导程序覆盖应用程序中的现有样式
- google-apps-script - How to open camera to scan QR code into Google Form field?
- sql - 雪花 SQL 日期转换
- go - 在 Go 中制作 AST
- aem - 在 JCR SQL2 查询中转义特殊字符
- reactjs - 使用 React 功能组件中变量的字符串名称检索状态值