5

これがrapidjsonのハローワールドです。"hello"キーを変更"goodbye"してjsonから文字列を取得するにはどうすればよいですか? つまり、json を解析し、いくつかのキーを変更して、json 文字列を取得したいということです{"goodbye" : "world"}

const char json[] = "{ \"hello\" : \"world\" }";

rapidjson::Document d;
d.Parse<0>(json);
4

2 に答える 2

2

keyDict私の場合、オブジェクトキーを置き換える必要がある値を格納するという名前のキー辞書があります。

std::string line;
std::map<std::string, int>  keyDict;

.....................
.........................

rapidjson::Document         doc;
doc.Parse<0>(line.c_str());
rapidjson::Value::MemberIterator itr;


for (itr = doc.MemberonBegin(); itr != doc.MemberonEnd(); ++itr)
{
    std::string keyCode = std::to_string(keyDict[itr->name.GetString()]);
    itr->name.SetString(keyCode.c_str(), keyCode.size(), doc.GetAllocator());
}
于 2014-06-16T06:51:58.237 に答える