rapidjson提取关键和价值

时间:2014-05-27 10:29:17

标签: 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) {

    }       
}

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

2 个答案:

答案 0 :(得分: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());
}

答案 1 :(得分:0)

mMember*,其中会员

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

因此,密钥的正确getter是m->name

很明显,来自&#34; rapidjson / document.h&#34;。如果没有自包含的示例(https://stackoverflow.com/help/mcvehttp://www.sscce.org/),我无法进一步测试。