is there a way to serialize a java var (e.g. int) via jackson as an xml attribute?
I can not find any spezific jackson or json annotation (@XmlAttribute
@javax.xml.bind.annotation.XmlAttribute) to realize this.
e.g.
public class Point {
private int x, y, z;
public Point(final int x, final int y, final int z) {
this.x = x;
this.y = y;
this.z = z;
}
@javax.xml.bind.annotation.XmlAttribute
public int getX() {
return x;
}
...
}
What I want:
<point x="100" y="100" z="100"/>
but all I got is:
<point>
<x>100</x>
<y>100</y>
<z>100</z>
</point>
Is there a way to get attributes instead of elements?
Thanks for help!
Best Answer
Okay I found a solution.
It wasn't necessary to register an AnnotaionIntrospector if you use jackson-dataformat-xml
The missing TAG was
@JacksonXmlProperty(isAttribute=true)
so just change the getter to:
and it works fine. Just follow this how to:
https://github.com/FasterXML/jackson-dataformat-xml