開源nlohmann json解析庫詳解

2021-08-17 06:59:09 字數 1481 閱讀 2442

nlohmann庫是c++解析json的庫,庫使用很簡單。環境使用linux+kdevelop即可,程式中使用nlohmann僅需要將json.hpp新增到工程中即可。

介紹一下相關函式的使用。

json j_object = , };
查詢key:
可以用三種方式  find/at/下標

1.find介面用的是迭代器,通過判斷是否等於end()來判斷鍵值是否存在

// call find

// print values

std::cout << std::boolalpha;

std::cout << "\"two\" was found: " << (it_two != j_object.end()) << '\n';

auto it_two = j_object.find("two");

2.使用at()介面會丟擲異常,需要新增異常處理

try

};json k = j.at("non-existing");

}catch (json::exception& e)

列印結果
message: [json.exception.out_of_range.403] key 'non-existing' not found

exception id: 403

3.通過下標來訪問

j_object["two"]=2

列印json物件內容:

j_object.dump(縮排量)

刪除:
通過key刪除

// call erase

auto count_one = j_object.erase("one");

通過索引刪除

// create a json array

json j_array = ;

// call erase

j_array.erase(2);

// print values

std::cout << j_array << '\n';

結果

[1,2,8,16]
通過迭代器刪除

j_array.erase(j_array.begin() + 2);

基於開源,強於開源,輕舟微服務解決方案深度解讀

2018年7月31日,由杭州市 賽迪以及網易主辦的 2018中國杭州雲創大會 於杭州國際博覽中心如期舉辦,大會以 開放 生態 賦能 為主題,匯聚行業領袖 技術大咖及產業鏈從業者。隨著數字經濟的時代到來,企業數位化創新對新一代雲計算服務的需求日漸迫切。在下午的雲計算專題會中,網易雲邀請了來自各行業的新...

開源 非開源 呼籲開源!

開源 非開源 對於我和我的朋友來說,開源對於我們的生活至關重要。這不是工作或職業,而是 我認為這是我為cloud evangelist播客錄製的最重要的歌曲之一。這是我們談話的摘錄 去年,我在英國的年輕線州 new rewired state 的邊緣地帶,這正在進行中,它向我展示了很多孩子從未有過程...

開源 非開源 輕鬆進入開源

開源 非開源 開源使人們感到恐懼。將它們扔到最深處通常不會減輕這種恐懼。相反,我們需要幫助人們簡化使用開放源 的過程。技術教練兼作家scott nesbitt分享一些建議來幫助您做到這一點。首先,遏制使用開源肥皂盒的衝動。相反,請發掘其中的核心 向他們展示如何使用它進行工作。開源不僅適用於技術人員。...