開源的Jackson:SpringBoot默認是使用Jackson作爲JSON數據格式處理的類庫,Jackson在各方面都比較優秀,所以不建議將Jackson替換爲Gson或fastjson。
阿里巴巴的FastJson:Fastjson是阿里巴巴開源的JSON數據處理類庫,其主要特點是序列化速度快。當併發數據量越大的時候,越能體現出fastjson的優勢。
雖然fastjson速度上有一定的優勢,但是其爲了追求速度,很大程度放棄了JSON的規範。還時不時的在有些版本中暴露安全問題,另外其代碼質量不是很高。所以用不用fastjson在國內軟件界還是有爭議的,在國外基本沒人用。
Google的Gson:Gson是Google爲滿足內部需求開發的JSON數據處理類庫,其核心結構非常簡單,toJson與fromJson兩個轉換函數實現對象與JSON數據的轉換.
性能比較總結如下:
- 序列化過程性能:fastjson >= jackson > Gson,Gson在數據併發量較大時會與其他二者有較明顯差距。
- 反序列化性能:三者幾乎不相上下,Gson略好一點。