![](/img/trans.png)
[英]com.fasterxml.jackson.databind.JsonMappingException: Multiple back-reference properties with name 'defaultReference'
[英]jackson fasterxml multiple elements with the same name
我需要生成確認此XSD的XML:
<xsd:element name="Line" type="Line" minOccurs="0" maxOccurs="3"/>
這樣的輸出就像:
<root>
<Line>A</Line>
<Line>B</Line>
<Line>C</Line>
</root>
問題是,如果我注釋Java bean中的變量,例如:
@JsonProperty("Line")
private String Line1;
@JsonProperty("Line")
private String Line2;
@JsonProperty("Line")
private String Line3;
然后我得到一個異常,如果我使用List
則輸出結果錯誤,例如:
<root>
<Line>
<Line>1 New Orchard Road</Line>
<Line>Armonk</Line>
</Line>
</root>
父<Line>
元素過多。 有沒有解決的辦法?
您只需要適當的傑克遜注釋即可:
public class ListTest
{
@JacksonXmlElementWrapper(useWrapping = false)
public List<String> line = new ArrayList<>();
}
測試:
public static void main(String[] args)
{
JacksonXmlModule module = new JacksonXmlModule();
XmlMapper mapper = new XmlMapper(module);
ListTest lt = new ListTest();
lt.line.add("A");
lt.line.add("B");
lt.line.add("C");
try {
mapper.writeValue(System.out, lt);
} catch (Exception e) {
e.printStackTrace();
}
}
輸出:
<ListTest><line>A</line><line>B</line><line>C</line></ListTest>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.