0

Jackson 序列化库中的注释对象。在每个序列化的基础上,我想告诉杰克逊哪些字段和子字段要序列化。

我有一些字段名称树,我只想包括那些:

root
  |-sub_field_1
  |-sub_object_1
    |-sub_field_2
  |-sub_object_2

如果没有这个功能,我会得到类似的东西:

{
  "sub_field_1":123,
  "sub_field_2":456,
  "sub_object_1":{
    "sub_field_1":123,
    "sub_field_2":456
  },
  "sub_object_2":{
    "sub_field_1":123,
    "sub_field_2":456
  }      
}

有了这个功能,我会得到类似的东西:

{
  "sub_field_1":123,
  "sub_object_1":{
    "sub_field_2":456
  },
  "sub_object_2":{
    "sub_field_1":123,
    "sub_field_2":456
  }      
}

我不能使用 SimpleBeanPropertyFilter,因为不同级别的不同字段可能共享相同的名称。

谢谢,

约翰

4

1 回答 1

0

如果您想要实现的是从特定类中排除特定字段(例如:仅从类 Bar 中排除“foo”),那么您可以尝试genson library

Genson genson = new Genson.Builder().exclude("foo", Bar.class).create();
genson.serialize(yourObject);
于 2012-10-17T14:00:21.343 回答