我面临一个奇怪的问题:当我尝试在 for 循环中添加一个 Json 变量时,它没有正确写入输出文件,而它在循环外运行良好(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"}
所以括号内添加的变量似乎有问题。你知道它来自哪里吗?