1
我有以下C++代码来生成的JSON字符串:C++ RapidJSON清除写入字符串
StringBuffer JSONData;
PrettyWriter<StringBuffer> writer(JSONData);
writer.StartObject();
writer.String("hello");
writer.String("world");
writer.String("t");
writer.Bool(true);
writer.String("f");
writer.Bool(false);
writer.String("n");
writer.Null();
writer.String("i");
writer.Uint(123);
writer.String("pi");
writer.Double(3.1416);
writer.EndObject();
cout << JSONData.GetString() << endl;
//OUTPUTS:
{
"hello": "world",
"t": true,
"f": false,
"n": null,
"i": 123,
"pi": 3.1416,
}
JSONData.Clear();
writer.Reset(JSONData); //Wont compile
writer.StartObject(); //FAILS !Base::hasRoot_
writer.String("hello");
writer.String("world");
writer.String("t");
writer.Bool(true);
writer.EndObject();
cout << JSONData.GetString() << endl;
然而,我想创建另一个JSON对象余输出的先前的JSON数据之后。然而,这返回给我错误Assertion failed: !Base::hasRoot_
。我怎样才能解决这个问题?
是的,但我无法让重置工作......它不会编译我所做的任何事 –
@TVAvanHeste仁我用一个例子编辑我的答案 – Badda
令人难以置信的是,这个作品...我想我已经尝试过这个选项,但一定是犯了一个错字或什么的。无论如何,谢谢 –