rapidjson提取关键和价值

Poo*_*oya 5 c++ json rapidjson

我正在尝试提取数组中的键和对象的值,但找不到合适的getter:

 for (Value::ConstValueIterator itr = document["params"].Begin(); itr != document["params"].End(); ++itr)
{
    for (Value::MemberIterator m = itr->MemberBegin(); m != itr->.MemberEnd(); ++m) {

    }       
}
Run Code Online (Sandbox Code Playgroud)

在第二个循环中,我想分别从迭代器中提取键和值.怎么做提取?

ein*_*rne 6

假设V是一个具有键值对象的JSON对象.您可以检索这样的数据.

const rapidjson::Value& V;
for (Value::ConstMemberIterator iter = V.MemberBegin(); iter != V.MemberEnd(); ++iter){
    printf("%s\t", iter->name.GetString());
    printf("%s\t", iter->value.GetString());
}
Run Code Online (Sandbox Code Playgroud)


Art*_*mGr 0

mMember*,其中会员是

struct Member { 
    GenericValue<Encoding, Allocator> name;     //!< name of member (must be a string)
    GenericValue<Encoding, Allocator> value;    //!< value of member.
};
Run Code Online (Sandbox Code Playgroud)

因此,该密钥的正确吸气剂是m->name

从“rapidjson/document.h”中可以明显看出这一点。