有时我们将对象转换成json格式的字符串时,并不希望里面所有的字段都转换,我们可能希望忽略某些.默认的gson是全部转换的,为此要给gson做一些配置.其实Gson的官方已经给出示例,如下:官方的示例说明
public @interface FooAnnotation {
// some implementation here
}
// Excludes any field (or class) that is tagged with an "@FooAnnotation"
private static class FooAnnotationExclusionStrategy implements ExclusionStrategy {
public boolean shouldSkipClass(Class<?> clazz) {
return clazz.getAnnotation(FooAnnotation.class) != null;
}
public boolean shouldSkipField(FieldAttributes f) {
return f.getAnnotation(FooAnnotation.class) != null;
}
}
上面的代码的意思是忽略被FooAnnotation 注解的类和字段,当然大家可以按照自己需要配置注解的作用范围.
使用时,做如下配置 Gson gson = new GsonBuilder() .setExclusionStrategies( new FooAnnotationExclusionStrategy()) .create();