Java Gson在对象列表上包含字段和排除策略
我有一个用于主对象的GSon序列化程序,如下所示:Java Gson在对象列表上包含字段和排除策略,java,json,spring,gson,Java,Json,Spring,Gson,我有一个用于主对象的GSon序列化程序,如下所示: Class A { String field1; String field2; List<B> listB; } A类{ 字符串字段1; 字符串字段2; 名单b; } 另一类为: Class B { String field3; int field4; List<Object> listO; } B类{ 字符串字段3; 国际字段4; 列表列表; } 我想执行下面给出
Class A {
String field1;
String field2;
List<B> listB;
}
A类{
字符串字段1;
字符串字段2;
名单b;
}
另一类为:
Class B {
String field3;
int field4;
List<Object> listO;
}
B类{
字符串字段3;
国际字段4;
列表列表;
}
我想执行下面给出的2个操作:1.在GSon排除策略中,我想删除B.field4并包括所有剩余字段。
2.在序列化中,我只想包括B.field4,所有其他字段都应该删除。
使用现有代码,我可以删除具有简单标识符(如field4)的字段,但问题是它将从所有其他嵌套对象中删除field4(是否有) 因此,我想基于嵌套标识符包括和排除字段,例如B.field4或B.C.field5 有什么解决方案吗?用户
Gson的注释
Class B {
@Expose(serialize = false, deserialize = true)
String field3;
@Expose(serialize = true, deserialize = false)
int field4;
@Expose(serialize = false, deserialize = true)
List<Object> listO;
}
B类{
@公开(序列化=假,反序列化=真)
字符串字段3;
@公开(序列化=真,反序列化=假)
国际字段4;
@公开(序列化=假,反序列化=真)
列表列表;
}
根据需要调整序列化/反序列化值。无法通过在实体类中添加注释进行更改,因为它们是由其他人设计的。我只想修改结果并返回给用户。我更喜欢使用排除策略(如果有的话)进行一些调整。