我正在使用RapidJSON来解析JSON数据,除了我无法解决如何遍历以下成员:
{
"members":{
"0":{
"template":"this is member 1"
},
"1":{
"template":"this is member 2"
}
}
}
我尝试了以下内容
e_doc["members"][iString]["template"].GetString()
在循环内部,将循环索引(i)转换为字符串,但它不会将其识别为字符串。
它的工作原理如下:
printf("%s", e_doc["members"]["0"]["template"].GetString());
printf("%s", e_doc["members"]["1"]["template"].GetString());
答案 0 :(得分:7)
可能存在一个小问题,因为您没有迭代数组,而是遍历对象。但是,最后代码是相似的。
const rapidjson::Value& membersObject = e_doc["members"];
for(rapidjson::Value::ConstMemberIterator it=membersObject.MemberBegin(); it != membersObject.MemberEnd(); it++) {
std::cout << it->value["template"].GetString();
}