java json技術比較

http://www.shsay.com

 

一 、各個JSON技術的簡介和優劣

1.json-lib
json-lib最開始的也是應用最廣泛的json解析工具,json-lib 不好的地方確實是依賴於很多第三方包,
包括commons-beanutils.jar,commons-collections-3.2.jar,commons-lang-2.6.jar,commons-logging-1.1.1.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庫。

綜上4種Json技術的比較,在項目選型的時候可以使用Google的Gson和阿里巴巴的FastJson兩種並行使用,
如果只是功能要求,沒有性能要求,可以使用google的Gson,

 

如果有性能上面的要求可以使用Gson將bean轉換json確保數據的正確,使用FastJson將Json轉換Bean

 

(原文鏈接:http://www.cnblogs.com/kunpengit/p/4001680.html)

二、各個JSON技術的性能測試

把Java對象JSON序列化,Jackson速度最快,在測試中比Gson快接近50%,FastJSON和Gson速度接近。 
把JSON反序列化成Java對象,FastJSON、Jackson速度接近,Gson速度稍慢,不過差距很小。

(原文鏈接:http://blog.csdn.net/accountwcx/article/details/50252657

發佈了25 篇原創文章 · 獲贊 3 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章