C++ 在RapidJson中循环数组并获取对象元素

C++ 在RapidJson中循环数组并获取对象元素,c++,rapidjson,C++,Rapidjson,如何从ConstrValueIterator中获取值?在本例中,我知道数组的元素是字典(aka对象) 代码总结如下: for (rapidjson::Value::ConstValueIterator itr = rawbuttons.Begin(); itr != rawbuttons.End(); ++itr) { // Ok if (itr->HasMember("yes")) { // Ok auto somestring = itr["yes"]->

如何从ConstrValueIterator中获取值?在本例中,我知道数组的元素是字典(aka对象)

代码总结如下:

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

请考虑自己的答案正确,如果它对你有用!