jsonlib的性能请看这篇文章:http://wangym.iteye.com/blog/738933
性能总结 写道
测试总结:
1、显而易见,无论是哪种形式的转换,Jackson > Gson > Json-lib。
Jackson的处理能力甚至高出Json-lib有10倍左右
2、JSON-lib似乎已经停止更新,最新的版本也是基于JDK15,而Jackson的社区则较为活跃;
3、在测试性能的同时,又以人肉方式对这三个类库转换的正确性 进行了检查 ,三者均达100%正确 ;
4、JSON-lib在转换诸如Date类型时较为累赘,如以下是两者的转换结果:
JSON-lib:
{"brithday":{"date":17,"day":2,"hours":9,"minutes":24,"month":7,"seconds":26,"time":1282008266398,"timezoneOffset":-480,"year":110}}
Jackson:
{"brithday":1282008123101}
5、JSON-lib依赖commons系列的包及 ezmorph包共 5个,而Jackson除自身的以外只依赖于commons-logging
6、Jackson提供完整基于节点的Tree Model,以及完整的OJM数据绑定功能。
1、显而易见,无论是哪种形式的转换,Jackson > Gson > Json-lib。
Jackson的处理能力甚至高出Json-lib有10倍左右
2、JSON-lib似乎已经停止更新,最新的版本也是基于JDK15,而Jackson的社区则较为活跃;
3、在测试性能的同时,又以人肉方式对这三个类库转换的正确性 进行了检查 ,三者均达100%正确 ;
4、JSON-lib在转换诸如Date类型时较为累赘,如以下是两者的转换结果:
JSON-lib:
{"brithday":{"date":17,"day":2,"hours":9,"minutes":24,"month":7,"seconds":26,"time":1282008266398,"timezoneOffset":-480,"year":110}}
Jackson:
{"brithday":1282008123101}
5、JSON-lib依赖commons系列的包及 ezmorph包共 5个,而Jackson除自身的以外只依赖于commons-logging
6、Jackson提供完整基于节点的Tree Model,以及完整的OJM数据绑定功能。
现在有个树型结构的json数据,使用json-lib转换成对象,转换调试发现得到的对象有“失真”,后面对比,jackjson,fastjson,gson,结果发现只有json-lib转换出现问题。
下面是调试对比:
json格式数据:
{ "attr": { "desc": "", "id": 0, "name": "一层", "parentId": -1 }, "data": { "icon": "", "title": "一层标题" }, "children": [ { "attr": { "desc": "", "id": 1, "name": "二层", "parentId": 0 }, "data": { "icon": "", "title": "二层标题" }, "children": [ { "attr": { "desc": "", "id": 2, "name": "三层", "parentId": 1 }, "data": { "icon": "", "title": "三层标题" }, "children": [ { "attr": { "desc": "", "id": 3, "name": "四层", "parentId": 2 }, "data": { "icon": "", "title": "四层标题" } } ] } ] } ] }
对应java对象如下:
public class NodeBean { private AttributeBean attr; private DataBean data; private List<NodeBean> children; } public class AttributeBean { private Long id; private String name; private Long parentId; private String desc; } public class DataBean { private String title; private String icon; }
测试代码:
//将树型json数据转换为对象 //jsonlib 2.4 转换 NodeBean jsonlibBean = (NodeBean) JSONObject.toBean(JSONObject.fromObject(responseStr), NodeBean.class); //jackson 2.1.0 转换 ObjectMapper mapper = new ObjectMapper(); try { NodeBean jacksonToBean = mapper.readValue(responseStr, NodeBean.class); } catch (Exception e) { e.printStackTrace(); } //fastjson 1.1.28 转换 NodeBean fastJsonToBean = JSON.parseObject(responseStr, NodeBean.class); //gson 2.2.2 转换树 Gson gson = new Gson(); NodeBean gsonToBean = gson.fromJson(responseStr, NodeBean.class);
json-lib调试:注意观察在children 默认会转成MorphDynaBean,MorphdynaClass,HashMap,MorpherRegistry
jackson调试:
fastjson调试:
gson调试:
效率测试结果json-lib性能最差,不推荐使用
相关推荐
易语言树型数据类模块源码,树型数据类模块,取项目数,取缩进层次,取项目,置项目,加入项目,删除项目,清空,取父项目,取前兄弟项目,取后兄弟项目,项目索引是否正确,项目,显示树型数据类
而较好地解决了大数量的树型数据在网页上树型结构加载时效率低下、延迟较长的问题。该方法在实际应用中, 取得了很好的效果。 关键词: 大数据量; 树型结构数据; 分散调度; 基于广度优先的非递归算法
树型表结构,查询一次就可以构建出一个JSON的数据结构树,适用于EXT树
delphi7 树型控件 自动根据数据集生成树型结构
资源介绍:。易语言树型数据类模块源码例程程序创建易语言类模块,实现树型样式的数据结构的封装。结构操作类似树型框的操作,在编辑框中显示即可。资源作者:。资源下载:。
易语言树型数据类模块源码.zip
树型论坛树型论坛树型论坛树型论坛树树型论坛型论坛树型论坛
易语言树型数据类模块源码.zip易语言项目例子源码下载易语言树型数据类模块源码.zip易语言项目例子源码下载 1.合个人学习技术做项目参考 2.适合学生做毕业设计参考 3.适合小团队开发项目参考
易语言源码树型数据类模块源码.rar
#资源达人分享计划#
树型网站框架-XP风格,个人设计的最好的网站框架结构,希望大家互相交流
Baobab 是一个 JavaScript 树型数据结构,支持游标。示例代码:var Baobab = require('baobab'); var tree = new Baobab({ palette: { colors: ['yellow', 'purple'], name: 'Glorious colors' ...
js做的树型结构,应该是很好的,javascript作的树型结构javascript作的树型结构javascript作的树型结构javascript作的树型结构javascript作的树型结构javascript作的树型结构javascript作的树型结构javascript作的树型...
全国城市数据json格式,树型结构。从北京开始到港澳台。json格式
P2P中基于DHT的路由算法不支持范围查询,因此对高维数据查询的支持不是很好。当前P2P处理高维数据的主流方法是降维和空间填充技术,但两者均有很明显的缺点。针对这些问题,提出一种将树型结构——Baton树应用于高维...
网页树型结构快速加载大数据量数据的实现.
易语言树型框加入分组数据源码,树型框加入分组数据
变色的树型控件 变色的树型控件 变色的树型控件
易语言源码易语言树型资源管理源码.rar