I JSON 문자열을 생성하기 위해 다음과 같은 C++ 코드를 가지고 :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 ren 예를 들어 답을 편집했습니다 – Badda
믿을 수 없지만,이 작품은 ... 나는 이미이 옵션을 시도했지만 오타 나 뭔가를 만들어야한다고 생각했습니다. 아무튼 감사합니다. –