我只是尝试使用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
}