我有一个看起来像这样的课程:
public class Item {
private ItemHeader header;
private ItemBody body;
}
public class ItemHeader {
private int id;
private String name;
}
public class ItemBody {
private List<String> values;
private List<String> details;
}
ItemHeader和ItemBody的字段可以通过Item类中的setter和getter以及相应的类来访问。所有表示setter和getters EXCEPT get / setItemBody + get / setItemHeader都用@JsonIgnore注释。
当GET REST方法返回Item实例时,Response看起来如下:
{
"body": {
"details":[]
"values":[]
},
"header": {
"id": 145,
"name": "name_of_item",
},
"details":[],
"values":[],
"id": 145,
"name": "name_of_item"
}
itemHeader和itemBody的内部结构溢出两次到反序列化的Json中,一次(正确地)在相应的字段内,第二次在它们之外。
我对幕后的Jackson定义没有多少控制权,基本上只能用注释等来控制我的类层次结构。
请告知 - 如何删除重复,“溢出”值......
答案 0 :(得分:0)
我最终删除了解决问题的双层getter / setter,并且在此过程中发现确实,序列化路径和de-path使用了不同的库。所以https://stackoverflow.com/users/2513573/adamskywalker有正确的想法