Java+Jackson+XML:将一个java对象属性序列化为XML个同名元素
Java+Jackson+XML: serialize a java object properties as XML elements with same names
我有一个 Java 对象,我想使用 Jackson 库将它序列化为 XML :
public class Point {
private Integer x;
private Integer y;
//getters/setters
}
我想将其序列化为以下格式:
<point>
<property name="x" value="1" />
<property name="y" value="1" />
</point>
而不是我使用 Jacskon 得到的:
<point>
<x>1</x>
<y>1</y>
</point>
我不想更改 Point
对象属性或结构。有没有办法
使用 Jackson 注释或自定义序列化程序将 Point
对象序列化为所需格式?如果是,那我该怎么做?
我正在使用 Jackson 库:
public class Serializer {
XmlMapper mapper = new XmlMapper();
public void serialize(File file, Object object) throws IOException {
mapper.writeValue(file, object);
}
}
您需要将这些属性标记为如下属性:
public class Point {
@JacksonXmlProperty(isAttribute = true)
private Integer x;
@JacksonXmlProperty(isAttribute = true)
private Integer y;
//getters/setters
}
我有一个 Java 对象,我想使用 Jackson 库将它序列化为 XML :
public class Point {
private Integer x;
private Integer y;
//getters/setters
}
我想将其序列化为以下格式:
<point>
<property name="x" value="1" />
<property name="y" value="1" />
</point>
而不是我使用 Jacskon 得到的:
<point>
<x>1</x>
<y>1</y>
</point>
我不想更改 Point
对象属性或结构。有没有办法
使用 Jackson 注释或自定义序列化程序将 Point
对象序列化为所需格式?如果是,那我该怎么做?
我正在使用 Jackson 库:
public class Serializer {
XmlMapper mapper = new XmlMapper();
public void serialize(File file, Object object) throws IOException {
mapper.writeValue(file, object);
}
}
您需要将这些属性标记为如下属性:
public class Point {
@JacksonXmlProperty(isAttribute = true)
private Integer x;
@JacksonXmlProperty(isAttribute = true)
private Integer y;
//getters/setters
}