Mil*_*Yip 12
在项目的第一页中,代码已经显示了如何将文档序列化为字符串(stringify文档):
// 3. Stringify the DOM
StringBuffer buffer;
Writer<StringBuffer> writer(buffer);
d.Accept(writer);
// Output {"project":"rapidjson","stars":11}
std::cout << buffer.GetString() << std::endl;
Run Code Online (Sandbox Code Playgroud)
buffer.GetString()这里返回一个const char*类型的字符串.它还有一个buffer.GetSize()用于返回输出字符串的大小.所以,如果你将它转换为a std::string,最好的方法是:
std::string s(buffer.GetString(), buffer.GetSize());
Run Code Online (Sandbox Code Playgroud)
该tutorial.cpp也显示了同样的事情,除了RapidJSON的其他常见的用法.
A.F*_*zen 10
像这样:
const char *GetJsonText()
{
rapidjson::StringBuffer buffer;
buffer.Clear();
rapidjson::Writer<rapidjson::StringBuffer> writer(buffer);
doc.Accept(writer);
return strdup( buffer.GetString() );
}
Run Code Online (Sandbox Code Playgroud)
然后你必须在返回时调用free(),或者执行:
return string( buffer.GetString() );
Run Code Online (Sandbox Code Playgroud)
代替.
| 归档时间: |
|
| 查看次数: |
23169 次 |
| 最近记录: |