前面有同學對比了fastjson和jsoncode的效能,其認為在從json字串中取部分數值時,jsoncode的效能要遠遠優於fastjson,詳細的內容請翻閱附錄一。然而,正所謂「吾愛吾師,吾更愛真理」,抱著這樣一種求真求實的心理,我對文章中的內容進行了探索,力求準確、符合事實。
首先,我們還是應該談談雞和蛋的問題,究竟是先有雞後有蛋呢,還是先有蛋後有雞呢?這似乎是乙個世界難題。但毋庸質疑的是,肯定是先有json字串,後有從字串中提煉出部分數值。這就引申到另乙個問題,我們的json字串是如何來的呢?難道是開發人員乙個字元乙個字元拼出來的嗎?顯然,不是的。那我們一般是怎麼拼裝json字串呢?我想大多數人應該是這樣做的。
那麼生成的json字串是什麼樣子的呢?大概是下面這個樣子吧。/**
* 使用fastjson轉換為json字串
*/public string parseobject2jsonusefastjson()
似乎跟原作者要解析的字串不一樣哦。我們分別按照fastjson和jsoncode的方式對該字串做乙個解析,源**如下所示:[
,]
一起來看下執行結果吧。public class jsontoolcomparison
/*** 使用fastjson獲取某個鍵所對應的值
** @return 鍵所對應的值
*/public string getvalueusefastjson(string json)
/*** 使用jsoncode獲取某個鍵所對應的值
** @return 鍵所對應的值
*/public string getvalueusejsoncode(string json)
public static void main(string ar**)
int times = 10000000;
stopwatch stopwatch = stopwatch.createstarted();
for (int i = 0; i < times; i++)
system.out.println("fastjson wastes:" + stopwatch.stop().elapsed(timeunit.milliseconds) + "ms");
stopwatch.reset().start();
for (int i = 0; i < times; i++)
system.out.println("jsoncode wastes:" + stopwatch.stop().elapsed(timeunit.milliseconds) + "ms");
}}
結果不言而喻,fastjson似乎要比jsoncode強很多哦。fastjson wastes:3590ms
jsoncode wastes:12607ms
附錄一:什麼?你還在使用fastjson,效能太差了
fastjson與Map List結合使用
這個例子是我昨天開發時遇到的,主要的思路是 1,前端給我傳乙個字串,這個字串包含id和name兩個屬性 2 我將string裝換為json字串,並且去除id 3 根據取出的id到資料庫中取資料,取出的字段為id name address 4 匹配資料庫中取出的資料,原則為 若資料庫中取到該id,該條...
fastJson與jackson效能對比
最近專案用到fastjson和jackson,為了決定到底棄用哪個,隨手寫了個測試看看到底誰的效能更勝一籌。看到過很多對比的帖子,大多數結果是fastjson效能高於jackson,可偏偏像springmvc這樣成熟的框架預設也採用的jsckson,這就引起了我的懷疑,決定自己動手試試 1 開始測試...
fastjson簡單使用
fastjson 是阿里巴巴的開源專案 主要是操作json 與 自定義物件,map,list之間進行的轉換 以下給出了 6種轉換 都是我自己封裝的 一點渣水平,封裝的 方法可以直接拿去用 我都已經測試過的 1.json 轉換 自定義物件 string json user user json.pars...