我的Pojo类包含50个字段,我只需要将10个字段转换为json。
Genson genson = new Genson.Builder().include("address4", User.class).create();
String json = genson.serialize(user);
“include()”方法似乎不起作用。请帮助。
答案 0 :(得分: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);
答案 1 :(得分:0)
一个选项是默认情况下禁用所有属性,并选择性地包含你想要的那些:
new GensonBuilder()
.useFields(false)
.useMethods(false)
.include("address4", User.class)
.create();
请注意,我认为您还可以在要包含的字段上使用@JsonProperty
注释,而不是通过GensonBuilder包含它们。
如果您感觉自己有助于lib,那么您还可以改进PropertyFilter class以支持字段名称的正则表达式,或者添加另一种方法,即excludeAll(Class clazz)/ includeAll(Class clazz),这将排除此类中的所有属性。我打开this issue来跟踪此功能。