私は、JSON文字列を生成するには、次のC++のコードをしている:しかし、私は、以前のJSONデータを出力した後、別の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;
。これは私にエラーAssertion failed: !Base::hasRoot_
を返します。これをどうすれば解決できますか?
はい、リセットすることはできません...何でもコンパイルできません。 –
@TVAvanHeste私は答えを編集しました – Badda
信じられないほど、これはうまくいきました...私はすでにこのオプションを試したと思っていましたが、タイプミスなどがあったに違いないと思います。どうもありがとう –