私はrapidjsonを使おうとしています。そして、コードを文字列に変換するためのコードを記述します。
Document dd;
dd.SetObject();
Value num(kNumberType);
num.SetInt(23);
dd.AddMember("number", num, dd.GetAllocator());
GenericStringBuffer< UTF8<> > buffer;
Writer<GenericStringBuffer< UTF8<> > > writer(buffer);
dd.Accept(writer);
// use writer
writer.StartObject();
writer.EndObject();
printf("%s\n", buffer.GetString());
出力は
{"number":23}{}
オブジェクト本体の後に余分な中括弧を付けるのは奇妙です。しかし、それはかなりの作家とうまく機能します。
StringBuffer buffer;
PrettyWriter<StringBuffer> writer(buffer);
dd.Accept(writer);
printf("%s\n", buffer.GetString());
私はこのような結果を得ました:
{
"number": 23
}