7

配列内のオブジェクトのキーと値を抽出しようとしていますが、適切なゲッターが見つかりません:

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

    }       
}

2 番目のループでは、イテレータからキーと値を個別に抽出します。抽出はどうするの?

4

2 に答える 2

11

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());
}
于 2015-12-11T02:07:21.890 に答える
0

mMember*、メンバーは

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

したがって、キーの適切なゲッターはm->name.

それは「rapidjson/document.h」から明らかです。自己完結型の例 ( https://stackoverflow.com/help/mcvehttp://www.sscce.org/ ) がなければ、これ以上テストすることはできません。

于 2014-06-04T17:14:50.370 に答える