Gson包含对象列表中的字段和排除策略

时间:2018-05-29 08:54:34

标签: java json spring gson

我有主要对象的GSon序列化程序,如下所示:

Class A {
    String field1;
    String field2;
    List<B> listB;
}

和另一个班级:

Class B {
    String field3;
    int field4;
    List<Object> listO;
}

我想执行2个操作(单独),如下所示:
1.在GSon排除策略中,我想删除B.field4并包含所有剩余字段 2.在序列化中,我只想包括B.field4,所有其他字段都应该被删除。
使用现有代码,我能够删除像field4这样的简单标识符的字段,但问题是它会从所有其他嵌套对象中删除field4(是否有)。

所以我想包括&amp;例如,基于嵌套标识符排除字段,例如B.field4或B.C.field 5。

任何解决方案?

1 个答案:

答案 0 :(得分:0)

用户Gson's @Expose注释。

Class B {

    @Expose(serialize = false, deserialize = true)
    String field3;

    @Expose(serialize = true, deserialize = false)
    int field4;

    @Expose(serialize = false, deserialize = true)
    List<Object> listO;
}

根据需要调整序列化/反序列化值。