1

我的 Pojo 类包含 50 个字段,我只需要将 10 个字段转换为 json。

Genson genson = new Genson.Builder().include("address4", User.class).create();
String json = genson.serialize(user);

“include()”方法似乎不起作用。请帮忙。

4

2 回答 2

1
Genson genson = new Genson.Builder()
                 .exclude(Object.class)//this excludes all object types
                 .include("address4", User.class).create();//then add only required fields
String json = genson.serialize(user);
于 2016-06-08T06:47:23.223 回答
0

一个选项是默认禁用所有属性,并选择性地包括您想要的属性,如下所示:

new GensonBuilder()
  .useFields(false)
  .useMethods(false)
  .include("address4", User.class)
  .create();

请注意,我认为您也可以@JsonProperty在要包含的字段上使用注释,而不是通过 GensonBuilder 包含它们。

如果您觉得自己对 lib 做出了贡献,您还可以改进PropertyFilter 类以支持字段名称的正则表达式,或者通过添加另一个方法 excludeAll(Class clazz)/includeAll(Class clazz),这将排除此类的所有属性。我打开了这个问题来跟踪这个功能。

于 2016-06-02T18:11:11.460 回答