C++的json_value是一個很常用的json解析類,在處理json數據時非常方便。該類包含了各種類型的json值,如數字、字符串、布爾值和數組等。
#include "json/json.h" Json::Value root; Json::Reader reader; std::string json_str = "{\n \"name\" : \"Tom\",\n \"age\" : 18,\n \"hobby\" : [\"music\", \"sports\"]\n }"; if(reader.parse(json_str, root)) { std::string name = root["name"].asString(); int age = root["age"].asInt(); std::string hobby0 = root["hobby"][0].asString(); std::string hobby1 = root["hobby"][1].asString(); }
上述代碼可以解析一個json字符串,該json包含一個名字、一個年齡和一個愛好的數組。我們可以通過json_value中的成員函數獲取這些值,并進行處理。
除了解析外,json_value還提供了一系列的操作函數,如添加json值、刪除某個json值、清空json值等。
if(reader.parse(json_str, root)) { //添加一個新的鍵值對 root["gender"] = "male"; //刪除一個鍵值對 root.removeMember("age"); //清空json值 root.clear(); }
總的來說,在C++中使用json_value處理json數據非常方便。因為它是一個高效、易用和可擴展的json解析庫。
上一篇c++ json 協議
下一篇c++ json 遍歷