使用google的Gson工具时,有时候在将对象序列化成Json字符串时,不需要有些字段,这个时候,就可以用Gson的设定序列策略来处理:
public class People {
public String name;
public String id;
public int count;
}
比如我序列化的时候不想要count字段,那么我就这样设置
Gson gson = new GsonBuilder()
.addSerializationExclusionStrategy(new ExclusionStrategy() {
@Override
public boolean shouldSkipField(FieldAttributes f) {
if ("count".equals(f.getName())) return true; //排除count
return false;
}
@Override
public boolean shouldSkipClass(Class<?> clazz) {
// 直接排除某个类 ,return true为排除
return (clazz == int.class || clazz == Integer.class);
}
})
.create();
People peo = new People();
peo.name = "AA";
peo.id = "123"
String jsonBody = gson.toJson(peo);
那么最后的jsonBody就会将count字段排除。