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 不会参与系列化及反序列化