java - 反序列化期间重复的字段

标签 java json jackson

我有一个类,如下所示:

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 进行访问。除 get/setItemBody +get/setItemHeader 之外的所有 setter 和 getter 均使用 @JsonIgnore 进行注释。

当 GET REST 方法返回 Item 实例时,响应如下所示:

    {
  "body": {
    "details":[]
    "values":[]
  },
  "header": {
    "id": 145,
    "name": "name_of_item",
   },
    "details":[],
    "values":[],
    "id": 145,
    "name": "name_of_item"    
}

itemHeader 和 itemBody 的内部两次溢出到反序列化的 Json 中,一次(正确地)在相应字段内,第二次在相应字段外。

我在幕后对 Jackson 定义没有太多控制权,基本上只能通过注释等控制我的类层次结构。

请告知 - 如何删除重复、“溢出”值...

最佳答案

我最终删除了双层 getters/setters,解决了这个问题,并且在这个过程中发现,序列化路径和去路径确实使用了不同的库。所以https://stackoverflow.com/users/2513573/adamskywalker有正确的想法

关于java - 反序列化期间重复的字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35671992/

相关文章:

java - 让 LocalDate 显示在 Javafx 的 Tableview 中

javascript - "Manifest: Line: 1, column: 1, Syntax error"

java - 引导日期选择器和 LocalDate 之间的一天转换

java - 协调 jackson 操作的数据类型

java - 在不知道 JSON 格式的情况下用 Java 解析 JSON

java - 如何根据生产者线程状态停止消费者线程

java - 使用多个警报

java - 错误: cant find main class

JSON:对于 JSON 和 JSON Schema 是否有等效的 Schematron? (即一种JSON技术来表达co-constraints)

javascript - 没有显示任何内容来代替 AngularJS 表达式