string strJsonContent = "{\"isAccurateInPlace\":0,\"isShieldBaffle\":0,\"parameters\":[{\"distance\":\"2\",\"index\":\"5\"}]}";
int isAccurateInPlace = 0;
int isShieldBaffle = 0;
string distance;
string index;
string parameters = "";
Json::Reader reader;
Json::Value root;
if (reader.parse(strJsonContent, root)) {
isAccurateInPlace = root["isAccurateInPlace"].asInt();
isShieldBaffle = root["isShieldBaffle"].asInt();
// 获取数组内容
if (root["parameters"].isArray()) {
int nArraySize = root["parameters"].size();
for (int i = 0; i < nArraySize; i++) {
distance = root["parameters"][i]["distance"].asString();
index = root["parameters"][i]["index"].asString();
}
}
} else {
cout << "没有此数据" << endl;
}
cout << "isAccurateInPlace is: " << isAccurateInPlace << endl;
cout << "isShieldBaffle is: " << isShieldBaffle << endl;
cout << "distance is: " << stod(distance) << endl;
cout << "index is: " << stod(index) << endl;
输出结果:
D:\code\C++\CLion\myConfig\cmake-build-debug\myConfig.exe
isAccurateInPlace is: 0
isShieldBaffle is: 0
distance is: 2
index is: 5