版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/seraph0321/article/details/90685701
https://www.cnblogs.com/porter/p/3578264.html
与上述类似
代码如下
在使用x64编译下面代码的情况下
// 读取Json对象数组
Json::Value ObjectArray;
ObjectArray = JsonRoot["object_array"];
for (size_t k = 0; k < ObjectArray.size(); k++)
{
stringTmp = Json_ReadString(ObjectArray[k]["string1"]);
cout << "string1:" << stringTmp << endl;
stringTmp = Json_ReadString(ObjectArray[k]["string2"]);
cout << "string2:" << stringTmp << endl;
}
会出现 E0350有多个运算符与[]匹配 的错误
后参考
https://github.com/open-source-parsers/jsoncpp/issues/220
使用迭代器解决,代码如下
Json::Value ObjectArray;
ObjectArray = JsonRoot["object_array"];
for (auto itor = JsonRoot.begin(); itot != JsonRoot.end(); itor++)
{
stringTmp = Json_ReadString((*itor)[k]["string1"]);
cout << "string1:" << stringTmp << endl;
stringTmp = Json_ReadString((*itor)[k]["string2"]);
cout << "string2:" << stringTmp << endl;
}