我使用快速json序列化dict,键是uint32,值是一个长字符串。代码是:
rapidjson::StringBuffer buffer();
rapidjson::Write<< rapidjson::StringBuffer>> writer(buffer);
root.Accept(writer);
const char* json_str = buffer.GetString();
但是,我发现最后的json_str
被截断了。有没有人知道如何避免截断?
答案 0 :(得分:0)
如果假设由于长字符串中的零字符而导致截断,那么您可以通过停止使用char *
并使用std::string
来避免截断。
rapidjson::StringBuffer buffer();
rapidjson::Writer<rapidjson::StringBuffer> writer(buffer);
root.Accept(writer);
std::string json_str = std::string(buffer.GetString(), buffer.GetSize());