简体   繁体   English

循环遍历RapidJson中的数组并获取对象元素

[英]Looping over an array in RapidJson and getting the object elements

How do I get the value out of a ConstrValueIterator? 如何从ConstrValueIterator中获取值? In this case I know that the elements of the array are dictionaries (aka objects). 在这种情况下,我知道数组的元素是字典(aka对象)。

Code summed up: 代码总结:

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

Um. 嗯。 Iterators need to be dereferenced or whatever it's called. 迭代器需要被解除引用或者无论它被称为什么。

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

It should be 它应该是

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM