缩小 rapidjson 的输出

Minify output from rapidjson

我正在使用 rapidjson 输出一些数据,用于对 C++ 程序算法进行一些统计和绘图,例如算法的内部运行时快照。

我这样输出json:

string filename="output.json";
StringBuffer sb;
PrettyWriter<StringBuffer> writer(sb);
writer.StartArray();
for (std::vector<O_Class>::const_iterator netItr = O_Class_Array.begin();   netItr != O_Class_Array.end(); ++netItr)
    netItr->Serialize(writer);
writer.EndArray();

ofstream out;
out.open(filename);
out << sb.GetString() ;

随着文件变得相当大 (~100MiB),我想输出缩小的 json,但我没有找到这样做的记录方式。 使用外部缩小器,我将文件大小从 100 MB 缩小到 18MB,并希望在我的应用程序中获得与本机相同的结果。

有什么想法吗?

感谢任何建议!

PrettyWriter 替换为 Writer

您也可以压缩内容。这将显着减小尺寸。