安卓rom源码分析DevSupport

Gson使用之@Expose注解

2016-12-21  本文已影响1927人  天神Deity

@Expose

Gson 中的@Expose注解 用于声明当前的 参数 需要暴露给 JSON 进行序列化或反序列化. * 该注解只有在 你使用GsonBuilder去构造Gson时,同时调用excludeFieldsWithoutExposeAnnotation()方法 才起作用 * 举个例子:

public class User {
     @Expose private String firstName;
     @Expose(serialize = false) private String lastName;
     @Expose (serialize = false, deserialize = false) 
     private String emailAddress;
     private String password;
   }

如果你使用new Gson()实例化一个对象的话,那么@Expose 的注解是无效的,User中的参数都是会参与反序列化或序列化。

但是如果你使用的是

Gson gson = new GsonBuilder().excludeFieldsWithoutExposeAnnotation().create()

对Gson进行实例化,
1.那么 没有被@Expose注解的password将不会参与系列化及反系列化。
2.lastName不会参与序列化
3.emailAddress 不会参与系列化及反序列化

上一篇下一篇

猜你喜欢

热点阅读