1. 程式人生 > >利用Gson將物件轉換成json,忽略某些欄位的方法

利用Gson將物件轉換成json,忽略某些欄位的方法

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