c++ rapidjson提取键和值

qojgxg4l  于 11个月前  发布在  其他
关注(0)|答案(2)|浏览(141)

我试图提取数组中对象的键和值,但没有找到合适的getter:

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

    }       
}

字符串
在第二个循环中,我想从迭代器中分别提取键和值。如何提取?

uujelgoq

uujelgoq1#

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

字符串

cuxqih21

cuxqih212#

mMember*,其中成员是

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

字符串
因此,该键的正确getter是m->name
这一点在“rapidjson/document.h”中显而易见。

相关问题