Jackson XML Mapper为列表编写两次元素名称

学向勤中得,萤窗万卷书。这篇文章主要讲述Jackson XML Mapper为列表编写两次元素名称相关的知识,希望能为你提供帮助。
我有一个类Submission(如下所示),它有一个名为Return of return类型的列表。当我反对序列化Return元素两次。返回元素有没有办法只出现一次?

@XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "ReturnType", propOrder = { "t619", "_return" }) @XmlRootElement(name = "Submission") public class Submission {@XmlElement(name = "Return", required = true) protected List< Return> _return; }@XmlAccessorType(XmlAccessType.FIELD) @XmlType(name = "ReturnChoiceType", propOrder = { "t4", "t4A", ... }) public class Return {@XmlElement(name = "T4") protected T4ReturnType t4; ... }

生成的XML
< Return> < !-- One return --> < Return> < !-- Another return --> < T4> < /T4> < /Return> < /Return>

答案【Jackson XML Mapper为列表编写两次元素名称】因为,Return元素包含ListReturn对象。
@XmlElement(name = "Return", required = true) protected List< Return> _return;

你需要将List< Return> 改为List< String>
protected List< String> _return;

由于你没有分享Return类的完整细节,但我假设你可能还需要改变一些东西。

    推荐阅读