Google Gson 字段过滤:基于 Gson 版本
来源:互联网 发布:刘小枫 知乎 编辑:程序博客网 时间:2024/06/07 12:49
本文内容大多基于官方文档和网上前辈经验总结,经过个人实践加以整理积累,仅供参考。
当为生成的 Google Gson 对象指定版本信息时,可以使用 @Since 和 @Until 注释实现字段过滤。@Since 和 @Until 都接收一个 double 类型参数。
@Since 当设置的 Gson 对象版本大于或等于其所接收的参数时导出该字段
@Until 当设置的 Gson 对象版本小于其所接收的参数时导出该字段
示例
(1) POJO 对象
public class User { private String account; @Since(2) private String password; private String name; @Until(4) private int age; public User() {} public User(String account, String password, String name, int age) { this.account = account; this.password = password; this.name = name; this.age = age; } public String getAccount() { return account; } public void setAccount(String account) { this.account = account; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } @Override public String toString() { return "User [account=" + account + ", password=" + password + ", name=" + name + ", age=" + age + "]"; }}
(2) 测试代码
@Testpublic void test() throws IOException { User user = new User("admin", "123456", "John", 30); String userStr = "{\"account\":\"normal\",\"password\":\"xyz123\",\"name\":\"Normal\",\"age\":25}"; Gson gson = new GsonBuilder() .setVersion(1) .create(); System.out.println(gson.toJson(user)); System.out.println(gson.fromJson(userStr, User.class)); gson = new GsonBuilder() .setVersion(2) .create(); System.out.println(gson.toJson(user)); System.out.println(gson.fromJson(userStr, User.class)); gson = new GsonBuilder() .setVersion(3) .create(); System.out.println(gson.toJson(user)); System.out.println(gson.fromJson(userStr, User.class)); gson = new GsonBuilder() .setVersion(4) .create(); System.out.println(gson.toJson(user)); System.out.println(gson.fromJson(userStr, User.class)); gson = new GsonBuilder() .setVersion(5) .create(); System.out.println(gson.toJson(user)); System.out.println(gson.fromJson(userStr, User.class));}
运行结果:
0 0
- Google Gson 字段过滤:基于 Gson 版本
- Google Gson 字段过滤:@Expose
- Google Gson 字段过滤:基于访问修饰符
- Google Gson 字段过滤:自定义过滤规则
- Gson 字段过滤
- 安卓注解使用,实体类指定须使用字段, Google Gson 字段过滤
- com.google.gson.Gson;
- Gson 过滤字段的几种方法
- Gson 过滤字段的几种方法
- Gson 过滤字段的几种方法
- Google Gson
- google-gson
- google-Gson
- Google-Gson
- google Gson
- Google Gson:POJO 和 JSON 的字段映射规则
- Gson
- Gson
- JavaScript中this的六种模式
- 使用ViewPager加gridView实现菜单按钮分页滑动(类似QQ表情选择翻页效果)
- 小视频开发资料
- 深度学习的正则化(一)
- 产品的三种流程图
- Google Gson 字段过滤:基于 Gson 版本
- 常用正则表达式
- 测试CRF++训练出来的model
- windows xp 驱动开发(三)DDK与WDK WDM的区别
- java面试题
- Actor模型
- Spring与RMI集成实现远程访问
- 股票入门基础知识25:利息覆盖率——公司偿还债务容易度
- 关于Java和SQL交互时的ResultSet.getString(“ Column ”)函数的自动补空格问题