利用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();

發佈了64 篇原創文章 · 獲贊 120 · 訪問量 16萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章