標籤:

c++哪個json序列化庫好?

c++的那個json序列化庫好?要無bug,易用的。效率不需要考慮


jsoncpp有坑 慎用,rapidjson不錯 公司都在用

最後其實我自己實現了一個


https://github.com/USCiLab/cereal


之前寫項目一直用的是 jsoncpp ,用起來還好,但是 parseFromStream 這個函數不知道為什麼沒有 namespace ,有潔癖的話慎用。。。

今天看到了 nlohmann/json,感覺挺友好的,而且 Github 搜 "json" 排名第一,,最近打算試試這個。。。

Tencent/rapidjson 是國產的(維護者 @Milo Yip),貌似效率很高?但是看用法感覺用起來可能不是很舒服。。。


jsoncons


當年我也跟你一樣迷惑,然後我就選擇了幹掉迷惑:自己寫了一個,介面仿java提供的json代碼。

rapidjson雖然難用點,做一個二次包裝還好吧。


本來在評論區的,還是來補一下吧。

既然題主對速度沒有要求,為何不自己寫一個呢?最多一天時間就能寫一個能用的了,怎麼都比提個問題花一天時間來問要強。

如果怕實現的正確性有問題,這裡有相對完善的測試樣例:https://github.com/MichaelSuen-thePointer/SimpleJSON/blob/master/SimpleJSON/main.cpp,都過了的話至少能用了。


個人覺得RapidJson超難用,介面很不Cpp風格,太過複雜,我自己用還要包裝一層才能和其他代碼共存,超麻煩

推薦用Boost庫里的property_tree,這個模塊是header only的,轉用xml也是改一行的事情

另外引入Boost也有其他工具可以用,比如我常用的serialization/graph/algorithm/regex/lexical_cast/filesystem/asio之類的


推薦閱讀:

為什麼使用gcc編譯代碼後局部數組變數的初始值消失了?
C++自學用書推薦?
C++ 「==」運算符取值問題?
C 語言的內存管理如何比 C++ 的 RAII 靠譜?

TAG:CC | JSON |