ccl*_*eve 5 java serialization json jackson
在序列化时如何让Jackson的XMLMapper设置根xml元素的名称?
如果您要序列化pojo,那么有一个注释:@XmlRootElement(name ="blah").但我正在序列化一个通用的Java类LinkedHashMap,所以我不能使用注释.
可能有某些开关来设置它.在Jackson代码中,我看到一个名为SerializationConfig.withRootName()的类,但我不知道如何使用它.
Ale*_*lov 17
您可以使用ObjectWriter.withRootName方法覆盖XML输出的根元素.这是一个例子:
public class JacksonXmlMapper {
public static void main(String[] args) throws JsonProcessingException {
Map<String, Object> map = new LinkedHashMap<String, Object>();
map.put("field1", "v1");
map.put("field2", 10);
XmlMapper mapper = new XmlMapper();
System.out.println(mapper
.writer()
.withRootName("root")
.writeValueAsString(map));
}
}
Run Code Online (Sandbox Code Playgroud)
输出:
<root><field1>v1</field1><field2>10</field2></root>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5587 次 |
| 最近记录: |