c++ rapidjson提取键和值

qojgxg4l  于 2023-11-19  发布在  其他
关注(0)|答案(2)|浏览(212)

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

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

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

uujelgoq

uujelgoq1#

假设V是一个JSON对象,它有键值对象。你可以像这样检索数据。

  1. const rapidjson::Value& V;
  2. for (Value::ConstMemberIterator iter = V.MemberBegin(); iter != V.MemberEnd(); ++iter){
  3. printf("%s\t", iter->name.GetString());
  4. printf("%s\t", iter->value.GetString());
  5. }

字符串

cuxqih21

cuxqih212#

mMember*,其中成员是

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

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

相关问题