先说说最近小编使用FastJSON的情况
1、4年前的一个项目中,有一位老架构前辈发现我们项目中用FastJSON,跟我们说,FastJSON的源码比较恶心,而且有很多漏洞,用的时候注意点,当时也不太懂,没怎么在意。
2、最近几个月FastJSON连续爆出两个服务器级别的漏洞,吓得我赶紧升级
FastJSON是什么?
FastJSON在官方的github上面是这样子说的
FastjsonisaJavalibrarythatcanbeusedtoconvertJavaObjectsintotheirJSONrepresentation.ItcanalsobeusedtoconvertaJSONstringtoanequivalentJavaobject.FastjsoncanworkwitharbitraryJavaobjectsincludingpre-existingobjectsthatyoudonothavesource-codeof.
翻译:Fastjson是一个Java库,可用于将Java对象转换为其JSON表示形式。它还可以用于将JSON字符串转换为等效的Java对象。Fastjson可以与任意Java对象一起使用,包括您没有源代码的现有对象。
在其官方的使用手册上,优点如下:
FastJSON使用体验
FastJSON目前在使用体验上,确实很不错,API简单,上手快,适应力强。
FastJSON真的很快吗?
今天我拿了三个JSON包来做测试,Gson,Jackson,FastJSON,做了一个万数据的测试。
这里只是为了测试效率,我简化了很多实验的方式,只测试对象与字符串的转化,应该可以看出端倪。
测试设备:联想X,ntel酷睿iU,8G内存
从结果上看,FastJSON是真的快,但是这样子的测试,也是比较片面,要考虑的方面太多,我觉得这个只能作为一个参考,并不能作为选择的主要因素。
做技术选型的时候,是否只是追求快?其实在我们很多应用中,其实这三者都是足够的,普通的对象转换的时间差,基本上都差不多的。
FastJSON活跃度如何?
从社区的活跃度来说,目前国内FastJSON的使用范围确实很广,但是我们来查看maven的引用上,出乎意料的竟然是Gson最多人使用,FastJSON垫底,出乎意料之外,又是意料之内的结果。
FastJSON要不要用?
我们团队原先一直用FastJSON,直到最近连续爆出了服务器级别的反序列漏洞后,我们现在开始替换为jackson。
该不该用,各位有什么看法?欢迎留言。
--END--
作者:架构师修炼之道
部分图片来源网络,如侵权请联系删除,谢谢!
如需要源码或资料,请私信我,谢谢。