4

私は奇妙な問題に直面しています: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"}

したがって、ブラケット内に追加された変数に問題があるようです..どこから来たのか分かりますか?

4

2 に答える 2