有時我們將對象轉換成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();