C++解析JSON數組是一種非常常見的技術,因為JSON作為一種數據交換格式,在通過不同應用程序之間傳遞數據時經常使用。在下面的代碼中,我們將介紹如何使用C++解析JSON數組。
#include <iostream>
#include <string>
#include <json/json.h>
int main()
{
std::string jsonStr = "[{\"name\":\"Tom\",\"age\":18},{\"name\":\"Jerry\",\"age\":20}]";
Json::Value rootValue;
Json::Reader reader;
if (reader.parse(jsonStr, rootValue))
{
if (rootValue.isArray())
{
for (int i = 0; i < rootValue.size(); i++)
{
std::cout << "name: " << rootValue[i]["name"].asString() << ", ";
std::cout << "age: " << rootValue[i]["age"].asInt() << std::endl;
}
}
}
return 0;
}
在上面的代碼中,我們首先創建一個包含兩個JSON對象的JSON數組字符串。
std::string jsonStr = "[{\"name\":\"Tom\",\"age\":18},{\"name\":\"Jerry\",\"age\":20}]";
然后,我們創建一個Json::Value對象來存儲JSON數組解析結果,以及一個Json::Reader對象來解析JSON字符串。
Json::Value rootValue;
Json::Reader reader;
接下來,我們使用Json::Reader的parse方法來解析JSON字符串,并將解析結果存儲在Json::Value對象中。
if (reader.parse(jsonStr, rootValue))
然后,我們檢查Json::Value對象是否是一個JSON數組。如果是,則遍歷數組并輸出每個JSON對象中"name"和"age"屬性的值。
if (rootValue.isArray())
{
for (int i = 0; i < rootValue.size(); i++)
{
std::cout << "name: " << rootValue[i]["name"].asString() << ", ";
std::cout << "age: " << rootValue[i]["age"].asInt() << std::endl;
}
}
這樣,就完成了C++解析JSON數組的過程。
上一篇vue oss上傳文件
下一篇vue 點擊方法 請求