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分享一些建議來幫助您做到這一點。首先,遏制使用開源肥皂盒的衝動。相反,請發掘其中的核心 向他們展示如何使用它進行工作。開源不僅適用於技術人員。...