如何使用Jackson的ObjectMapper将对象名称和序列化列表设置为xml?

时间:2019-09-18 11:29:20

标签: java xml jackson

我有一堂课,上面标着Jackson注释:

@JacksonXmlRootElement(localName = "EXAMPLE")
public class Example {
   @JacksonXmlProperty(localName = "SOME_STRING")
   private String someString;
}

还有另一个类,其中包含“示例”对象列表作为字段:

//inside another class

@JacksonXmlProperty(localName = "LIST")
List<Example> list;

然后我将该对象序列化为xml字符串:

 String s = new XmlMapper().writeValueAsString(anotherClassInstance);

但是Jackson忽略了Example类的localName注释值,并生成了如下输出:

<LIST>
   <LIST>
       <SOME_STRING>123</SOME_STRING>
   <LIST>
<LIST>

但是我想使用“ EXAMPLE”字符串来包装每个对象,并使用“ LIST”来包装整个列表。所以看起来像这样:

<LIST>
   <EXAMPLE>
       <SOME_STRING>123</SOME_STRING>
   </EXAMPLE>
</LIST>

0 个答案:

没有答案