假设XML是:
<person>
<friends>
<human id="11"/>
<human id="24"/>
<dog id="31"/>
</friends>
</person>
我希望结果是:
class Person {
public List<Friend> friends;
}
class Friend {
public int id;
}
最好Friend类也有一个带有“HumanDog”的“类型”字段,但我可以没有它。
我试图解决的问题是,XML列表是有序的,如果它作为人和狗的单独列表导入,则排序部分丢失。
如果您可以选择,最好更改XML结构以匹配对象模型。
<person>
<friends>
<friend type="human" id="11"/>
<friend type="human" id="24"/>
<friend type="dog" id="31"/>
</friends>
</person>
否则,最好是使用JAXP将XML解析为自由格式的DOM,然后跟踪它以创建POJO模型。
JAXP教程:https://docs.oracle.com/javase/tutorial/JAXP/dom/readingxml.html
我在下面提到了xml字符串和团队类。我想使用jaxb将所有行元素转换为团队列表。
在基于jax-rs的REST API项目中,我们使用Jackson jax-rs XML内容提供者来处理XML内容类型。在序列化POJO列表时,我们需要从POJO中的字段动态设置xml元素名称。 默认Jackson序列化XML: 我们的需求是,将type设置为XML元素名。 为了实现这一点,我们以以下方式编写了一个自定义XML序列化程序: 并使用注释添加了序列化程序: 但是,在使用Jackson
问题内容: 我想将迭代器分为两个具有交替元素的列表。这是一个可行的解决方案。但是,有没有更简单的方法可以达到相同目的呢? 样本输出: 问题答案: 如果是一个序列,则: 如果是完全通用的可迭代对象,例如生成器:
我是Jackson XML的新手,我需要在同一根元素下构造具有不同元素名称和属性的Jackson XML。 我期望的xml输出 我的pojo类(不确定如何添加剩余的元素和属性) 任何建议都将不胜感激。
问题内容: 使用Jersey和Jackson创建REST接口,当其中包含0或1个元素时,如何将列表字段序列化为列表。例如: 当bar没有元素时,结果序列化为;当它包含单个元素时,结果序列化为该元素,而不是包含单个元素的数组。有没有办法让它们始终序列化为数组? 作为参考,我使用的是Jersey 1.10和Jackson 1.9.2。 问题答案: 我很确定您实际上并没有使用Jackson(JSON序列
问题内容: 有没有办法让Jackson将单个JSON对象解释为具有一个元素的数组,反之亦然? 例如,我有2种略有不同的JSON格式,我需要两者都映射到相同的Java对象: 格式 A (带有一个元素的JSON数组): 格式 B (JSON对象,是的,我知道它看起来“错误”,但这就是我给的): 以上两种都应转换为的目标Java对象: 当前,只有 A 可以正确解析为Data。我想避免直接篡改JSON本身