Gson的使用汇总
来源:互联网 发布:知乎和果壳 编辑:程序博客网 时间:2024/05/18 01:09
当前json是比较流行的文本数据传输格式,结构整齐、简单。基于json的开源解析包也是很多,个人感觉比较好的两种,fastJson、Gson,fastJson号称是解析json最快的,牛逼不是吹的,我以前用过很大数据量的json去测试,fastJson解析速度确实是最快的,但是个人还是比较喜欢Gson(Gson的速度也是很快的),API简单,调用方便。下面讲解一下Gson的使用方法。
在GsonAPI中有个JsonElement类,它是JsonObject和JsonArray、JsonNull的父类,如果你知道JsonElement具体是什么对象,就可以强制转换。如下:
String test = "{\"msgBody\":{\"ticketInfos\":[{\"useType\":\"4\",\"orgCode\":\"0301\",\"xf\":\"A\",\"beginNo\":\"00001\",\"endNo\":\"99999\",\"operationDate\":\"20131116\",\"operationTime\":\"170829\"},{\"useType\":\"4\",\"orgCode\":\"0301\",\"xf\":\"B\",\"beginNo\":\"00001\",\"endNo\":\"99999\",\"operationDate\":\"20131116\",\"operationTime\":\"170829\"},{\"useType\":\"4\",\"orgCode\":\"0301\",\"xf\":\"C\",\"beginNo\":\"00001\",\"endNo\":\"99999\",\"operationDate\":\"20131116\",\"operationTime\":\"170829\"}]},\"msgHead\":{\"msgId\":\"X420131116180838\",\"operateOrgCode\":\"0301\",\"workDate\":\"20131116\",\"workTime\":\"180838\",\"workType\":\"X4\"}}";JsonParser parser = new JsonParser();//这里我知道它是一个jsonObject,那么我就强制转换了,当然最好你去instanceOf一下JsonObject job = (JsonObject) parser.parse(test);JsonArray object = (JsonArray) ((JsonObject) job.get("msgBody")).get("ticketInfos");String back = object.toString();System.out.println(back);
上面是普通的json解析,貌似跟其他解析工具差不多,但是它还有更强大的功能就是Gson这个类,有一系列的toJson、fromJson方法,很多都是采用反射机制实现的,你想要把json字符串转换成什么对象只需要传入class类型就OK了。不管是多复杂的json格式,你只要按照json格式定义一个对象,如下代码中
message = new Message();Gson gson=new Gson();message=gson.fromJson(json, Message.class);
message就是按照json格式定义了msgBody、msgHead对象。直接通过Gson这个类,简单几行代码就完成了json字符串到JavaBean的转换。非常不错!
0 0
- Gson的使用汇总
- Google-Gson的使用
- gson的使用
- Gson的使用
- android gson的使用
- android Gson的使用
- Gson的使用
- gson的使用
- Gson的使用
- java gson的使用
- gson的使用
- Gson的使用
- Google Gson的使用
- Gson的嵌套使用
- Gson的使用
- Gson的详细使用
- gson的使用
- Gson的使用
- EXT 做的导航树 可以调整节点顺序
- POJ 1988 Cube Stacking(路径压缩并查集)
- 题目1445:How Many Tables
- centos apache的基本操作命令
- md5
- Gson的使用汇总
- Qt学习笔记
- vxWorks/BootROM Imageq启动顺序详解
- 如何优化MySQL insert性能
- 软件的安装技术
- 使用HASH技术进行排重优化的案例
- fdisk mkfs
- 删除重复记录ORACLE SQL
- 香港教育(3)——免费教育