2

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

1 回答 1

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();
}
于 2013-10-28T10:12:22.290 回答