json工具性能测试_腾讯视频
1.背景介绍
2.知识剖析
3.常见问题
4.解决方案
5.编码实战
6.扩展思考
7.参考文献
8.更多讨论
1.背景介绍
下面介绍四款处理json的java类库:Json-lib、Gson、Jackson、Fastjson,并对他们的性能做个简单测试
2.知识剖析
先说JSON
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。 易于人阅读和编写。同时也易于机器解析和生成。
它基于JavaScript Programming Language, Standard ECMA-262 3rd Edition - December 1999的一个子集。 JSON采用完全独立于语言的文本格式,这些特性使JSON成为理想的数据交换语言。
3.常见问题
1:JAVA中的JSON项目?
2:各个JSON技术的简介和优劣?
3:什么是JSON-taglib?
4.解决方案
1:JAVA中的JSON项目?
json官网页面往下拉,可以找到Java板块,该板块列出了官方推荐的第三方json项目
2:各个JSON技术的简介和优劣?
1.json-lib
json-lib最开始的也是应用最广泛的json解析工具,json-lib 不好的地方确实是依赖于很多第三方包,包括commons-beanutils.jar,commons-collections.jar,commons-lang.jar,commons-logging.jar,ezmorph-1.0.6.jar,对于复杂类型的转换,json-lib对于json转换成bean还有缺陷,比如一个类里面会出现另一个类的list或者map集合,json-lib从json到bean的转换就会出现问题。 json-lib在功能和性能上面都不能满足现在互联网化的需求。
2.开源的Jackson
相比json-lib框架,Jackson所依赖的jar包较少,简单易用并且性能也要相对高些。而且Jackson社区相对比较活跃,更新速度也比较快。Jackson对于复杂类型的json转换bean会出现问题,一些集合Map,List的转换出现问题。Jackson对于复杂类型的bean转换Json,转换的json格式不是标准的Json格式。
3.Google的Gson
Gson是目前功能最全的Json解析神器,Gson当初是为因应Google公司内部需求而由Google自行研发而来,但自从在2008年五月公开发布第一版后已被许多公司或用户应用。Gson的应用主要为toJson与fromJson两个转换函数,无依赖,不需要例外额外的jar,能够直接跑在JDK上。 而在使用这种对象转换之前需先创建好对象的类型以及其成员才能成功的将JSON字符串成功转换成相对应的对象。类里面只要有get和set方法,Gson完全可以将复杂类型的json到bean或bean到json的转换,是JSON解析的神器。 Gson在功能上面无可挑剔,但是性能上面比FastJson有所差距。
4.阿里巴巴的FastJson
Fastjson是一个Java语言编写的高性能的JSON处理器,由阿里巴巴公司开发。无依赖,不需要例外额外的jar,能够直接跑在JDK上。FastJson在复杂类型的Bean转换Json上会出现一些问题,可能会出现引用的类型,导致Json转换出错,需要制定引用。 FastJson采用独创的算法,将parse的速度提升到极致,超过所有json库。
3.什么是JSON-taglib?
JSON-taglib是用于从JSP代码中呈现JSON(JavaScript对象符号)数据的JSP 2.0标记库。它可以用作AJAX应用程序的服务器端的一部分,允许您使用JSP的全部功能来格式化JSON数据。
5.编码实战
6.扩展思考
各个JSON技术的使用方法?
我们该选择哪种技术?
ppt:https://ptteng.github.io/PPT/PPT-java/JSON%E5%B7%A5%E5%85%B7%E6%80%A7%E8%83%BD%E6%B5%8B%E8%AF%95.html#/
网友评论