libjson的使用問題

原先項目中一直使用boost的property_tree構造json,如果json格式比較簡單而且數據量不大時,沒感覺到什麼問題,但結構內嵌有3層對象以上,並且有數組結構時,性能問題就突顯出來了,實在慢的難以忍受。所以決定捨去尋求另一個更快的json庫,根據google搜索量選擇了jsoncpp,比boost的快6~7倍左右,但是還覺得不夠快,因爲同樣的json格式還需要2毫秒左右。最後尋找到了libjson,同樣的json串只需200納秒就可以搞定,還算是比較滿意的。

下載地址:http://sourceforge.net/projects/libjson/

默認安裝使用libjson時,有個中文編碼的問題,它會將中文字符轉成utf-8(即使原先是utf-8的),所以這個時候就得關閉utf-8的轉換。修改源碼下的JSONOptions.h,註釋掉宏定義JSON_ESCAPE_WRITES。影響到的代碼在${libjson_path}/_internal/Source/JSONWorker.cpp,522行,一些轉義字符"\t \n \r \b \f /"也不會轉義輸出了。

默認編譯使用的是C接口,如果需要C++接口,註釋掉宏定義JSON_LIBRARY。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章