7

如何从 ConsrValueIterator 中获取值?在这种情况下,我知道数组的元素是字典(又名对象)。

代码总结:

for (rapidjson::Value::ConstValueIterator itr = rawbuttons.Begin(); itr != rawbuttons.End(); ++itr) { // Ok
    if (itr->HasMember("yes")) { // Ok
        auto somestring = itr["yes"]->GetString(); // error
    }
}
4

2 回答 2

8

嗯。迭代器需要被取消引用或者不管它叫什么。

for (rapidjson::Value::ConstValueIterator itr = rawbuttons.Begin(); itr != rawbuttons.End(); ++itr) { // Ok
    if (itr->HasMember("yes")) { // Ok
        auto somestring = (*itr)["yes"]->GetString(); // bingo
    }
}
于 2015-08-31T02:50:46.217 回答
2

它应该是

for (rapidjson::Value::ConstValueIterator itr = rawbuttons.Begin(); itr != rawbuttons.End(); ++itr) { 
if (itr->HasMember("yes")) { 
    auto somestring = (*itr)["yes"].GetString(); 
}}
于 2018-09-18T04:58:51.820 回答