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
令人難以置信的是,這個作品...我想我已經嘗試過這個選項,但一定是犯了一個錯字或什麼的。無論如何,謝謝 –