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());

2

Решение

Может быть небольшая проблема, поскольку вы выполняете не итерацию по массиву, а по объекту. Тем не менее, в конце код похож.

const rapidjson::Value& membersObject = e_doc["members"];
for(rapidjson::Value::ConstMemberIterator it=membersObject.MemberBegin(); it != membersObject.MemberEnd(); it++) {
std::cout << it->value["template"].GetString();
}
7

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]