好久沒有寫部落格了,最近的筆記都整理到印象筆記了,等有時間了再移到csdn吧。
今天寫一下fastjson。
fastjson處理大的json物件或陣列時,單純用jsonobject、jsonarray的api不利於效能。
比如反序列化map物件對應的json string。
jsonobject responsejsonobject;
try catch (unsupportedencodingexception e)
for (object object : responsejsonobject.entryset())
這種方式不夠快。
來個快的,在工作中的場景快了三分之二:
private mapgetnormalmap(classclazz, byte response)
reader.endobject();
reader.close();
} catch (unsupportedencodingexception e)
return map;
}private map> getlistmap(byte response)
reader.endobject();
reader.close();
} catch (unsupportedencodingexception e)
return map;
}
這裡注意一下,如果json裡有物件是同乙個,序列化時會"$ref": "$.屬性名或者屬性名.屬性名或者屬性名.屬性名[索引],看你的json物件了",第二種方式不能解析出來。當然,json裡一般物件不放同乙個。
更多的優化:裡面是一些示例,可以自己寫成泛型方法,用來當普用工具。
FastJson與JsonCode效能大比拼
前面有同學對比了fastjson和jsoncode的效能,其認為在從json字串中取部分數值時,jsoncode的效能要遠遠優於fastjson,詳細的內容請翻閱附錄一。然而,正所謂 吾愛吾師,吾更愛真理 抱著這樣一種求真求實的心理,我對文章中的內容進行了探索,力求準確 符合事實。首先,我們還是應該...
Fastjson 泛型 json 轉 物件
通過泛型,將具有相同規律的json串,解析為同乙個物件。1 查詢student物件返回的json串 message 查詢成功 查詢teacher返回的json串。message 查詢成功 2 構建實體類 student類 data是lombok外掛程式的註解 data public class st...
FastJson解析處理內部類問題
1.com.alibaba.fastjson.jsonexception create instance error2.報錯default constructor not found.class.一開始是這樣定義的 class tempdata public string getcount publ...