【问题标题】:Jackson XML Mapper Writing Element name twice for listsJackson XML Mapper 两次为列表写入元素名称
【发布时间】:2017-12-22 22:17:37
【问题描述】:

我有一个类 Submission(如下所示),它有一个名为 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>

【问题讨论】:

    标签: java jaxb jackson


    【解决方案1】:

    因为,Return 元素包含 ListReturn 对象。

    @XmlElement(name = "Return", required = true)
        protected List<Return> _return;
    

    您需要将List&lt;Return&gt; 更改为List&lt;String&gt;

     protected List<String> _return;
    

    由于您尚未分享 Return 课程的完整详细信息,但我假设您可能还需要在那里进行更改。

    【讨论】:

      猜你喜欢
      • 2018-08-25
      • 1970-01-01
      • 1970-01-01
      • 2015-06-13
      • 1970-01-01
      • 1970-01-01
      • 2014-04-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多