2017-02-27 60 views
0

我使用rapidjson輸出一些數據,用於對算法的內部運行時快照等C++程序算法進行統計和繪圖。從rapidjson中縮小輸出

I輸出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縮小到18MB,並且喜歡在我的應用程序中具有與原生相同的結果。

任何想法?

感謝您的任何建議!

回答

1

替換PrettyWriterWriter

你也可以壓縮內容。這將顯着減小尺寸。

+0

相當明顯,但完全沒有認出這兩位不同的作家:)非常感謝! –