Gson序列化特定的字段

使用google的Gson工具时,有时候在将对象序列化成Json字符串时,不需要有些字段,这个时候,就可以用Gson的设定序列策略来处理: 

public class People {
   public String name;
   public String id;
   public int count;
}

比如我序列化的时候不想要count字段,那么我就这样设置

Gson gson = new GsonBuilder()
        .addSerializationExclusionStrategy(new ExclusionStrategy() {
            @Override
            public boolean shouldSkipField(FieldAttributes f) {
                
                if ("count".equals(f.getName())) return true; //排除count

                return false;
            }
            @Override
            public boolean shouldSkipClass(Class<?> clazz) {
                // 直接排除某个类 ,return true为排除
                return (clazz == int.class || clazz == Integer.class);
            }
        })
        .create();

People peo = new People();
peo.name = "AA";
peo.id = "123"
String jsonBody = gson.toJson(peo);

那么最后的jsonBody就会将count字段排除。

猜你喜欢

转载自blog.csdn.net/crookshanks_/article/details/83241749