Gson使用之@Expose注解

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1.概述2.Gson的目标3.Gson的性能和扩展性4.Gson的使用者5.如何使用Gson 通过Maven来使用...
    人失格阅读 14,851评论 2 18
  • 为了更好的学习Gson,特将Gson User Guide翻译如下。由于本人英文水平有限,如有错误,还请指正,谢谢...
    WeberLisper阅读 11,811评论 0 6
  • 本文为作者根据日常使用结合Gson源码注释及wiki所作的原创内容,转载请注明出处。 该系列其它文章 你真的会用G...
    怪盗kidou阅读 61,403评论 67 141
  • 他们有过无数次的出现在我的生活中,然而大多数却只能是来也匆匆去也匆匆,甚至瞧也不被人瞧一眼,更别说有人会惦记他们了...
    痴了吗您阅读 3,652评论 0 0
  • 我与你隔着一条河 那河今夜波涛滚滚 全是你的内分泌 但我不能跨越那条河流 只能在干涸的夏季旱地拔葱 绝望地渴望被你...
    耕天下阅读 3,153评论 1 1