美文网首页
JAVA使用Gson排除特定字段【转发】

JAVA使用Gson排除特定字段【转发】

作者: 颤抖的闪电 | 来源:发表于2020-01-13 08:28 被阅读0次

    转发来自:JAVA使用Gson排除特定字段

    1. 忽略值为NULL

    Gson gson = new GsonBuilder().serializeNulls().create();  
    

    2. 使用Java关键字transient

    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. 使用ExclusionStrategy定制字段排除策略

    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();  
        }  
    } 
    

    相关文章

      网友评论

          本文标题:JAVA使用Gson排除特定字段【转发】

          本文链接:https://www.haomeiwen.com/subject/hskgactx.html