C++的json_value是一個(gè)很常用的json解析類,在處理json數(shù)據(jù)時(shí)非常方便。該類包含了各種類型的json值,如數(shù)字、字符串、布爾值和數(shù)組等。
#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(); }
上述代碼可以解析一個(gè)json字符串,該json包含一個(gè)名字、一個(gè)年齡和一個(gè)愛好的數(shù)組。我們可以通過json_value中的成員函數(shù)獲取這些值,并進(jìn)行處理。
除了解析外,json_value還提供了一系列的操作函數(shù),如添加json值、刪除某個(gè)json值、清空json值等。
if(reader.parse(json_str, root)) { //添加一個(gè)新的鍵值對(duì) root["gender"] = "male"; //刪除一個(gè)鍵值對(duì) root.removeMember("age"); //清空json值 root.clear(); }
總的來說,在C++中使用json_value處理json數(shù)據(jù)非常方便。因?yàn)樗且粋€(gè)高效、易用和可擴(kuò)展的json解析庫。