Gson-JsonParser解析Json字符串
来源:互联网 发布:ch341a编程器软件1.30 编辑:程序博客网 时间:2024/04/29 00:46
背景:
gson工具在转换json字符串的时候非常方便,一种是常常用到的转换成对象的方式,还有一种是使用类似原生的转换方式,两种都有各自的好处以及各自的应用场景,第一种往往是针对对象字段比较稳定,不会经常变更时使用,而且更偏向于面向对象的原则,第二种更多是针对字段容易频繁修改,即内容不稳定的json串,如日志打点记录的场景,所以此时就会用到JsonParser来做一些通用的转换
适用的数据结构:
[{key1:val1,key2:val2},{key3:val3,key4:val4},......]
(附:方法使用是类似的,如果有其它json结构可以自己动态扩展)
引入的gson版本
com.google.code.gson -> gson 1.7.1
代码示例如下:
public void analyseLogWithNative(String logData) { Gson gson = GsonFactory.get(); JsonParser jp = new JsonParser();JsonElement je = jp.parse(logData);if(!je.isJsonArray()){return;}JsonArray jsa = je.getAsJsonArray();for(int i=0;i<jsa.size();i++){JsonElement jesub =jsa.get(i);if(!jesub.isJsonObject()){continue;}JsonObject jaaa = jesub.getAsJsonObject();Map<String,String> resMap = gson.fromJson(jaaa.toString(), new TypeToken<Map<String,String>>() {}.getType());if(MapUtils.isEmpty(resMap)){continue;} //根据自己的业务需求去实现就可以了 TODOprintLog(resMap);} }
logData的格式可以参考如下(上面方法仅支持该格式):
[ { name: "qiulr", age: 18 }, { addr: "大街南123号", phone: "134322325**" }, { key1: "val1", key2: "val2", key3: "val3" }]
0 0
- Gson-JsonParser解析Json字符串
- 灵活组装Json的数据使用Gson的JsonParser和JsonReader解析Json详解例子
- 灵活组装Json的数据使用Gson的JsonParser和JsonReader解析Json详解例子
- 灵活组装Json的数据使用Gson的JsonParser和JsonReader解析Json详解例子
- gson JsonParser
- Gson JsonParser
- Gson 解析复杂json字符串
- 试用Gson 解析json字符串
- Gson->Gson创建json字符串,与解析json字符串
- Gson的JsonParser使用
- 怎样使用Gson 解析 (deserialize) json字符串
- 用Gson解析复杂的Json字符串
- 使用Gson解析常见json字符串
- gson解析json字符串学习笔记...
- gson 的使用 解析json字符串
- java json字符串解析(Gson)
- Java-Gson解析-03 使用gson生产json字符串
- 使用库org.json 和 Gson 解析 JSON格式字符串
- Project Euler: Problem 14 Longest Collatz sequence
- 图解WebSphere 8.5 安装
- WCF 之 服务契约(Service Contract)
- dmytrodanylyk/circular-progress-button源码解析(一)
- Spring AOP--引入增强
- Gson-JsonParser解析Json字符串
- 从数据库看学习
- openlayers实现wfs属性查询和空间查询
- git步步进阶---实战git的windows安装和使用
- 适配器模式
- HTML5.0笔记 (一)
- 个人推荐
- 笔记本创建wifi
- .net使用des加密算法