從上面的連結介紹中我們可以看到,java 的三方 json 庫是最多的,可謂百花齊放百家争鳴的節奏。。。但是,某些庫存在鍊式依賴的問題,使用的時候要注意,如果你沒用 maven 管你你的依賴,用起來會很痛苦,比如 json-lib、smart-json 等。下面我要推薦的是阿裡巴巴工程師開源的一個 json 庫:FastJSON,這個庫在解析速度和易用性上來說都很不錯。
1.1 Fastjson介紹
Fastjson是一個Java語言編寫的JSON處理器。
2、功能qiang打,支援JDK的各種類型,包括基本的JavaBean、Collection、Map、Date、Enum、泛型。
3、無依賴,不需要例外額外的jar,能夠直接跑在JDK上。
4、開源,使用Apache License 2.0協定開源。
1.2 如果獲得Fastjson?
<a href="https://github.com/alibaba/fastjson" target="_blank">https://github.com/alibaba/fastjson</a>
Fastjson API入口類是com.alibaba.fastjson.JSON,常用的序列化操作都可以在JSON類上的靜态方法直接完成。
SerializeWriter:相當于StringBuffer
JSONArray:相當于List<Object>
JSONObject:相當于Map<String, Object>
JSON反序列化沒有真正數組,本質類型都是List<Object>
比如支援注解、支援全類型序列化,這些都是很好的特性,功能強大,不在本次測試範圍。
說明:
SerializeConfig:是對序列化過程中一些序列化過程的特殊配置,這裡用作日期格式的定義。
有關需要帶類型的全類型序列化過程,需要調用JSON.toJSONStringZ()方法。
需要美化輸出時候,需要打開序列化美化開關,在方法中true那個參數。
輸出結果:
測試小例子:
fastjson通過各方面測試都很好,功能性能都是No.1,喜歡,它的源代碼品質很高,作者也煞費苦心,将性能做到了最好,全免超越其他的json類庫。
從其中的源代碼中,可以學到很多東西,在閱讀源碼後,不得不佩服作者高超的程式設計水準,和高品質的編碼。
6.1 FastJSON應用前測試
<a href="http://lavasoft.blog.51cto.com/62575/723192" target="_blank">http://lavasoft.blog.51cto.com/62575/723192</a>
6.2 alibaba fastjson(json序列化器)序列化部分源碼解析-1-總體分析
<a href="http://www.iflym.com/index.php/code/alibaba-fastjson-json-serializer-chapter-source-analyse-one-global-analyse.html" target="_blank">http://www.iflym.com/index.php/code/alibaba-fastjson-json-serializer-chapter-source-analyse-one-global-analyse.html</a>
6.3 FastJson---高性能JSON開發包
<a href="http://blog.csdn.net/glarystar/article/details/6654494" target="_blank">http://blog.csdn.net/glarystar/article/details/6654494</a>
若轉載請注明出處!若有疑問,請回複交流!