遍历 RapidJson 中的数组并获取对象元素
Looping over an array in RapidJson and getting the object elements
如何从 ConstrValueIterator 中获取值?在这种情况下,我知道数组的元素是字典(又名对象)。
代码总结:
for (rapidjson::Value::ConstValueIterator itr = rawbuttons.Begin(); itr != rawbuttons.End(); ++itr) { // Ok
if (itr->HasMember("yes")) { // Ok
auto somestring = itr["yes"]->GetString(); // error
}
}
嗯。迭代器需要被取消引用或任何它的名字。
for (rapidjson::Value::ConstValueIterator itr = rawbuttons.Begin(); itr != rawbuttons.End(); ++itr) { // Ok
if (itr->HasMember("yes")) { // Ok
auto somestring = (*itr)["yes"]->GetString(); // bingo
}
}
应该是
for (rapidjson::Value::ConstValueIterator itr = rawbuttons.Begin(); itr != rawbuttons.End(); ++itr) {
if (itr->HasMember("yes")) {
auto somestring = (*itr)["yes"].GetString();
}}
如何从 ConstrValueIterator 中获取值?在这种情况下,我知道数组的元素是字典(又名对象)。
代码总结:
for (rapidjson::Value::ConstValueIterator itr = rawbuttons.Begin(); itr != rawbuttons.End(); ++itr) { // Ok
if (itr->HasMember("yes")) { // Ok
auto somestring = itr["yes"]->GetString(); // error
}
}
嗯。迭代器需要被取消引用或任何它的名字。
for (rapidjson::Value::ConstValueIterator itr = rawbuttons.Begin(); itr != rawbuttons.End(); ++itr) { // Ok
if (itr->HasMember("yes")) { // Ok
auto somestring = (*itr)["yes"]->GetString(); // bingo
}
}
应该是
for (rapidjson::Value::ConstValueIterator itr = rawbuttons.Begin(); itr != rawbuttons.End(); ++itr) {
if (itr->HasMember("yes")) {
auto somestring = (*itr)["yes"].GetString();
}}