日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

jsoncpp和rapidjson哪个好用?

發布時間:2024/4/11 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 jsoncpp和rapidjson哪个好用? 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
作者:Milo Yip
鏈接:http://www.zhihu.com/question/23654513/answer/46157616
來源:知乎
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。

身為 RapidJSON 作者,剛剛做完 28 個 C/C++ JSON 庫(包括題目中的兩個)的評測 miloyip/nativejson-benchmark,回來回答這個問題。

標準符合程度(越高越好):
<img src="https://pic3.zhimg.com/0824ee0557ff57fbcdbc98b82477f30a_b.jpg" data-rawwidth="900" data-rawheight="810" class="origin_image zh-lightbox-thumb" width="900" data-original="https://pic3.zhimg.com/0824ee0557ff57fbcdbc98b82477f30a_r.jpg">這個測試分開4個部分:JSON正確性檢測(使用這個測試分開4個部分:JSON正確性檢測(使用JSON_checker測試集)、解析double的準確性、解析string的正確性、roundtrip測試。

JsonCpp 得88分,算是比較好的了。如果仔細看每個部分(rawgit.com/miloyip/nati),就是JSON正確性和roundtrip上有幾個問題。而RapidJSON在JSON正確性、string和roundtrip上都是滿分,開啟了 full precision 選項的話,解析double也是滿分。

解析和生成JSON的耗時(越低越好):
<img src="https://pic2.zhimg.com/d995b8cfc3249d112fa9142e3d5e7101_b.jpg" data-rawwidth="900" data-rawheight="833" class="origin_image zh-lightbox-thumb" width="900" data-original="https://pic2.zhimg.com/d995b8cfc3249d112fa9142e3d5e7101_r.jpg"><img src="https://pic4.zhimg.com/70e06ed8e2625bc4d4ba4aec1fda1973_b.jpg" data-rawwidth="900" data-rawheight="765" class="origin_image zh-lightbox-thumb" width="900" data-original="https://pic4.zhimg.com/70e06ed8e2625bc4d4ba4aec1fda1973_r.jpg">可見RapidJSON比JsonCpp在解析上快了一個數量級,而生成上也近一個數量級了。可見RapidJSON比JsonCpp在解析上快了一個數量級,而生成上也近一個數量級了。

解析至DOM后的內存用量(越低越好):
<img src="https://pic4.zhimg.com/9b0bdc335161513ab69b7b43de24c6cb_b.jpg" data-rawwidth="900" data-rawheight="833" class="origin_image zh-lightbox-thumb" width="900" data-original="https://pic4.zhimg.com/9b0bdc335161513ab69b7b43de24c6cb_r.jpg">RapidJSON(除了insitu parsing)的內存用量只是JsonCpp的1/4。RapidJSON(除了insitu parsing)的內存用量只是JsonCpp的1/4。

其他方面,例如功能、文檔、友好性等,就不在此逐一對比了。

RapidJSON也有一些缺點,例如有些API的設計比較奇怪,可能較難使用。我們會嘗試加入一些功能,使不太注重性能的部分能更容易使用。

如果讀者仍然想使用 JsonCpp,也可以參考這個評測,幫助改進它。這也是我做此評測的初衷,在開源代碼中互相學習,持續改進。 編輯于 2015-04-2834 條評論感謝 分享 收藏?沒有幫助?舉報?作者保留權利 收起 0贊同 反對,不會顯示你的姓名 朱元 rapidjson 大量借鑒了rapidxml的一些特點,雖然不是一個作者。于是rapidxml是xml解析庫速度最高的,rapidjson也基本上說的上是json解析中最快的了。 rapidjson 大量借鑒了rapidxml的一些特點,雖然不是一個作者。

于是rapidxml是xml解析庫速度最高的,rapidjson也基本上說的上是json解析中最快的了。 發布于 2015-04-28添加評論感謝 分享 收藏?沒有幫助?舉報?作者保留權利 0贊同 反對,不會顯示你的姓名 汪周洋 rapidjson接口設計的不好,不好用,雖然只需要包含頭文件,另外主要也是用了其他內建json類型的語言給慣壞了,jsoncpp要編譯成庫就更加不方便了 rapidjson接口設計的不好,不好用,雖然只需要包含頭文件,另外主要也是用了其他內建json類型的語言給慣壞了,jsoncpp要編譯成庫就更加不方便了 編輯于 2015-12-032 條評論感謝 分享 收藏?沒有幫助?舉報?作者保留權利 6贊同 反對,不會顯示你的姓名 周剛,凡是過去 皆為序章 李宇、知乎用戶、戰龍等人贊同 沒人回答,我來回答一下吧,之前都用jsoncpp,自從發現rapidjson后,一直讓團隊用這個易用性:rapidjson是全頭文件包含的,jsoncpp需要你內置編譯或編譯成庫;但rapidjson的一些接口不全,只提供了一層一層的這種解析方式,不能將某一層一次讀出來,實際用…顯示全部 沒人回答,我來回答一下吧,之前都用jsoncpp,自從發現rapidjson后,一直讓團隊用這個

易用性:rapidjson是全頭文件包含的,jsoncpp需要你內置編譯或編譯成庫;但rapidjson的一些接口不全,只提供了一層一層的這種解析方式,不能將某一層一次讀出來,實際用的時候,要簡單封裝一下,不然代碼量會很大;
性能:rapidjson的性能是現在所有的c++ json解析庫里面最高的,沒有之一;
容錯性:rapidjson只支持標準的 json 格式,很多人以為這個是缺點,我覺得這個是優點,大家都按照標準做,這是成本最低的;

rapidjson之前是托管在Googe Code上的,現在已遷移到GitHub,地址:miloyip/rapidjson · GitHub

另外具體的性能測試,可以參考這個地址:mloskot/json_benchmark · GitHub
這是對流行C++ Json庫的一個總結:【總結】各種 JSON 解析庫的功能簡介 超強干貨來襲 云風專訪:近40年碼齡,通宵達旦的技術人生

總結

以上是生活随笔為你收集整理的jsoncpp和rapidjson哪个好用?的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。