Gson高级用法--->对json字符串进行过滤和检查
2016-07-28 19:34
941 查看
参考文章: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实体类
gson操作
ExclusionStrategy中有两个方法,一个shouldSkipField,一个shouldSkipClass,前一个是过滤字段的,后一个是过滤类的,如上文,shouldSkipField中我们设置了f.getName()中必须包含“_”,如果不包含下划线 我们将自动过滤掉该字段。shouldSkipClass中设置了对应的类型就会过滤。
设置完了以后 我们得到的userJson为:
好了 ,你又get了一种新技能!
相信你们基本都会使用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了一种新技能!
相关文章推荐
- Gson.toJson()时内存溢出StackOverflowError
- 使用GSON库转换Java对象为JSON对象的进阶实例详解
- Java的JSON转换类库GSON的基础使用教程
- Java的JSON转换库GSON的基本使用方法示例
- Android学习笔记45之gson解析json
- Android中gson、jsonobject解析JSON的方法详解
- 举例讲解Java的JSON类库GSON的基本用法
- GSON实现Java对象与JSON格式对象相互转换的完全教程
- Java的JSON格式转换库GSON的初步使用笔记
- 将Java的List结构通过GSON库转换为JSON的方法示例
- 使用GSON库将Java中的map键值对应结构对象转换为JSON
- GSON实现Java对象的JSON序列化与反序列化的实例教程
- JAVA使用Gson解析json数据实例解析
- Java中利用gson解析Json实例教程
- 利用gson将map转为json示例
- 在struts2 中使用jQuery 的Ajax 技术
- Gson的使用-android
- Gson自定义处理Calendar日期Date时间类型
- Gson详解:Java对象与JSON相互转换的利器
- Android技能-创建Json文本及Json解析