@Expose
Gson 中的@Expose注解 用于聲明當(dāng)前的 參數(shù) 需要暴露給 JSON 進(jìn)行序列化或反序列化. * 該注解只有在 你使用GsonBuilder去構(gòu)造Gson時缓溅,同時調(diào)用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中的參數(shù)都是會參與反序列化或序列化剩彬。
但是如果你使用的是
Gson gson = new GsonBuilder().excludeFieldsWithoutExposeAnnotation().create()
對Gson進(jìn)行實例化,
1.那么 沒有被@Expose注解的password將不會參與系列化及反系列化。
2.lastName不會參與序列化
3.emailAddress 不會參與系列化及反序列化