RapidJSON通过字符串数组循环?

use*_*737 2 c++ json loops rapidjson

我正在使用RapidJSON来解析JSON数据,除了我无法解决如何遍历以下成员:

{

"members":{
    "0":{
        "template":"this is member 1"
    },
    "1":{
        "template":"this is member 2"
    }
}
}
Run Code Online (Sandbox Code Playgroud)

我e_doc["members"][iString]["template"].GetString() 在循环中尝试了以下内容 ,将循环索引(i)转换为字符串,但它不会将其识别为字符串.

它的作用如下:

printf("%s", e_doc["members"]["0"]["template"].GetString());
printf("%s", e_doc["members"]["1"]["template"].GetString());
Run Code Online (Sandbox Code Playgroud)

gru*_*zip 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();
}
Run Code Online (Sandbox Code Playgroud)