序列化的长字符串与快速JSON将被截断

serialize long string with rapid json will be truncated

本文关键字:JSON 字符串 序列化      更新时间:2023-10-16

i使用快速json序列化dict,键是uint32,值是一个长字符串。代码是:

rapidjson::StringBuffer buffer();                                                                                                                                     
rapidjson::Write<< rapidjson::StringBuffer>> writer(buffer);  
root.Accept(writer);  
const char* json_str = buffer.GetString();

但是,我发现最终的json_str被截断了。是否有人知道如何避免截断?

如果假设截断是由于长字符串内部零字符而放置的,那么您可以通过停止使用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());