Gson高级用法--->对json字符串进行过滤和检查
来源:互联网 发布:淘宝怎么催客人下订单 编辑:程序博客网 时间:2024/05/21 17:21
参考文章:https://futurestud.io/blog/gson-builder-exclusion-strategies
相信你们基本都会使用Gson,所以就不介绍Gson如何使用了,直接介绍一些Gson高级的用法。
Gson完美依赖java8,如果Gson解析有啥问题的话,建议更新jdk到8.0再试一下。
上面是自己的一些经验,下面是对https://futurestud.io/blog/gson-builder-exclusion-strategies的总结和翻译。
这里讲下 Gson 的 ExclusionStrategy类的用法。
先看代码吧:
Gson实体类
public class UserDate { private String _name; private String email; private boolean isDeveloper; private int age; private Date registerDate = new Date();}
gson操作
GsonBuilder gsonBuilder = new GsonBuilder(); gsonBuilder.setExclusionStrategies(new ExclusionStrategy() { @Override public boolean shouldSkipField(FieldAttributes f) { return f.getName().contains("_");; } @Override public boolean shouldSkipClass(Class<?> incomingClass) { return incomingClass == Date.class || incomingClass == boolean.class; }});Gson gson = gsonBuilder.create();UserDate user = new UserDate("Norman", "norman@futurestud.io", 26, true); String usersJson = gson.toJson(user);
ExclusionStrategy中有两个方法,一个shouldSkipField,一个shouldSkipClass,前一个是过滤字段的,后一个是过滤类的,如上文,shouldSkipField中我们设置了f.getName()中必须包含“_”,如果不包含下划线 我们将自动过滤掉该字段。shouldSkipClass中设置了对应的类型就会过滤。
设置完了以后 我们得到的userJson为:
{ "age": 26, "email": "norman@futurestud.io"}
好了 ,你又get了一种新技能!
0 0
- Gson高级用法--->对json字符串进行过滤和检查
- Gson进行json字符串和对象之间的转化
- Gson进行json字符串和对象之间的转化
- 利用GSON对json数据中的时间类型字符串进行处理,并且进行数据库查询
- 对json数组进行排序和filter过滤
- 对json数组进行排序和filter过滤
- 如何对字符串首部和尾部的空格进行过滤
- 在服务器端对JSON字符串和JSON对象进行转换
- 用Gson包进行java对象和Json格式字符串的相互转换
- [Android] Gson高级用法:Json串转换成接口字段
- 对JSON字符串进行解析
- Gson对Java嵌套对象和JSON字符串之间的转换
- Gson转换JSON字符串和Java对象
- Gson 字符串和json对象的转换
- 【转载】对Json进行处理的Google Gson API教程
- 通过Json和Gson,快速生成和解析json字符串
- java String 中 startsWith() 对字符串开头进行过滤 endsWith()对字符串结尾进行过滤
- 使用库org.json 和 Gson 解析 JSON格式字符串
- Android 6.0 app的权限申请
- 计算机网络socket编程之UDP
- 剑指offer——二叉搜索树与双向链表
- 简单生成二维码的Demo
- Requirejs高级应用(二):消除requirejs的缓存模块
- Gson高级用法--->对json字符串进行过滤和检查
- Maven
- WebView下拉刷新Demo
- 打造S级手游,腾讯WeTest品质把控2016ChinaJoy
- Poj 1149 PIGS【最大流Dinic+建图】
- 氰化物,入口即死的“毒药之王”?
- 关于TabLayout设置文字+图片时,图片显示不出来的问题。
- 数据结构实验之栈八:栈的基本操作
- HDU 5727 2016多校Contest 1 E题【暴力,STL应用,匈牙利算法,小心函数返回值别忘记写初始化!】