这是StackOverflow 上这个问题的一个变体,但是我的 json 看起来像
{
"point": {
"meta": {
"x": "100",
"y": "200",
"z": "300"
},
}
}
并且想要看起来像的 XML
<point x="100" y="100" z="100"/>
但是现在我有一些看起来像
<point>
<meta x="100" y="200" z="300"/>
</point>
我有一个PointMeta
基本上是属性包装器的类,有没有办法告诉杰克逊我希望它将整个类视为顶级Point
类中的属性集合?
我也在使用 Lombok 来避免样板,getter 和 setter 不是问题。
我试过类似的东西
@Data
class Point {
@JacksonXmlProperty(isAttribute=true)
private PointMeta meta;
}
@Data
class PointMeta {
@JacksonXmlProperty(isAttribute=true)
private String x;
// And so on for y and z.
}
但是,Jackson 忽略了 Point 中的第一个注释,class
没有警告或错误。我想告诉杰克逊这个字段应该是这个类的XML属性。