私は奇妙な問題に直面しています:Json変数をforループ内に追加しようとすると、出力ファイルに正しく書き込まれませんが、ループの外ではうまく機能します(rapidJson v0.11)。
編集:ループは問題ではありませんが、括弧だけでもバグが表示されます
ここに私のコードのサンプルがあります:
rapidjson::Document output;
output.SetObject();
rapidjson::Document::AllocatorType& allocator = output.GetAllocator();
{
std::string s1("test");
output.AddMember("test_field",s1.c_str(), allocator);
}
std::string s2("test");
output.AddMember("test_field2",s2.c_str(), allocator);
rapidjson::FileStream f(stdout);
rapidjson::PrettyWriter<rapidjson::FileStream> writer(f);
output.Accept(writer);
私が得る出力は次のとおりです。
{"test_field": "\u0000est",
"test_field2": "test"}
したがって、ブラケット内に追加された変数に問題があるようです..どこから来たのか分かりますか?