欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

c++遍歷json

謝彥文1年前10瀏覽0評論

C++是一種面向對象的編程語言,廣泛應用于軟件開發、游戲開發、計算機視覺等領域。Json是一種輕量級的數據交換格式,常用于Web應用之間的數據交互。在C++中,我們可以使用第三方庫如Jsoncpp來遍歷Json數據。

//引入Jsoncpp頭文件
#include#include//json字符串
const char* json_str = "{ \"name\":\"Tom\", \"age\":20, \"gender\":\"male\", \"scores\":[{ \"math\": 80, \"English\": 90}, { \"math\": 70, \"English\": 80}] }";
//解析json字符串
Json::Value root;
Json::Reader reader;
if (!reader.parse(json_str, root))
{
std::cout<< "json字符串解析出錯:"<< reader.getFormattedErrorMessages()<< std::endl;
return 0;
}
//遍歷Json數據
std::cout<< "姓名:"<< root["name"].asString()<< std::endl;
std::cout<< "年齡:"<< root["age"].asInt()<< std::endl;
std::cout<< "性別:"<< root["gender"].asString()<< std::endl;
//遍歷數組
const Json::Value scores = root["scores"];
int length = scores.size();
for (int i = 0; i< length; i++)
{
std::cout<< "第"<< i + 1<< "次考試:"<< std::endl;
std::cout<< "數學分數:"<< scores[i]["math"].asInt()<< std::endl;
std::cout<< "英語分數:"<< scores[i]["English"].asInt()<< std::endl;
}

在上面的代碼中,我們首先引入了Jsoncpp頭文件,然后定義了一個json字符串。使用Json::Reader的parse()方法解析json字符串,將解析結果存儲在Json::Value對象中。接著我們遍歷了Json數據,使用asXX()系列方法獲取數據的值。對于數組,我們使用size()方法獲取數組長度,然后使用下標訪問每個元素中的數據。需要注意的是,Jsoncpp只支持UTF-8編碼。

通過以上代碼,我們可以方便快捷地遍歷Json數據,實現數據的讀取和處理,并將其應用于各類C++應用程序中,提高應用程序的靈活性和可擴展性。