【发布时间】:2013-10-06 21:07:35
【问题描述】:
我有一个带有 JAXB 注释的 POJO,它可以很好地编组到 xml 和 json,但是,xml 和 json 不兼容,因为根标签在 json 中丢失了。我知道它在 json 中更有意义,但我仍然需要根元素。有没有办法得到它?
@XmlRootElement(name = XmlConsts.ELEMENT)
@XmlAccessorType(XmlAccessType.FIELD)
public class Element {
private static final String MULTIPLE_VALUE_DELIMITER = ",";
@XmlElement(name = XmlConsts.PROPERTIES)
@XmlJavaTypeAdapter(JaxbMapAdapter.class)
private final Map<String, String> entries;
@XmlAttribute(name = XmlConsts.ELEMENT_TYPE, required = false)
public String getType() {
return entries.get(XmlConsts.ELEMENT_TYPE);
}
...
结果 xml:
<element type="rule.record">
<properties>
<property name="min" value="0"/>
<property name="id" value="1773"/>
...
结果 json:
{"type":"rule.record","properties":{
"property":[
{"name":"min","value":"0"},
{"name":"id","value":"1773"}
如此处所示,“元素”标签在 json 中丢失了。有没有办法获取根元素?
【问题讨论】: