JAVAはGsonを使って特定のフィールドを排除します.

1531 ワード

1.無視値はNULLです
Gson gson = new GsonBuilder().serializeNulls().create();  
2.Javaキーワードのtranientを使う
class Item {  
String name;  
   public transient int age;  
} 
3.@Exposeでコメントする
class Item {  
String name;  

@Expose  
public int age;  

public void gson() {  
    //     excludeFieldsWithoutExposeAnnotation  
    Gson gson = new GsonBuilder().excludeFieldsWithoutExposeAnnotation()  
            .create();  
    }  
}  
4.Modifier修饰子を除外する指定されたタイプのフィールド
class Item {  
    String name;  

    @Expose  
    public int age;  

    public void gson() {  
        //        protcted      
        Gson gson = new GsonBuilder().excludeFieldsWithModifiers(Modifier.PROTECTED).create();  
    }  
}  
5.Exclusion Strategyを使ってフィールドをカスタマイズして除外する戦略
class Item {  
    String name;  

    @Expose  
    public int age;  

    public void gson() {  
        //        protcted      
        Gson gson = new GsonBuilder().setExclusionStrategies(new ExclusionStrategy() {  

            @Override  
            public boolean shouldSkipField(FieldAttributes f) {  
                 //        "age"  
                return f.getName().contains("age");  
            }  

            @Override  
            public boolean shouldSkipClass(Class> clazz) {  
                //         Bean    
                return clazz.getName().contains("Bean");  
            }  
        }).create();  
    }  
}