Это вариант этого вопроса в 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, чтобы избежать шаблонов, геттеры и сеттеры не проблема.
Я пробовал что-то вроде
@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.
}
Однако Джексон игнорирует первую аннотацию в Точке class
без предупреждений или ошибок.Я хочу сказать Джексону, что это поле должно быть атрибутами XML этого класса.