RapidJSON通过字符串数组循环?

时间:2013-06-26 05:35:18

标签: c++ json loops rapidjson

我正在使用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());

1 个答案:

答案 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();
}