Минимизировать вывод от rapidjson

Я использую rapidjson для вывода некоторых данных для выполнения некоторой статистики и построения алгоритма программ на С++, такого как внутренний моментальные снимки алгоритма во время выполнения.

Я вывожу 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() ;

Поскольку файлы становятся довольно большими (~ 100 МБ), я хотел бы вывести минимизированный json, но я не нашел документированного способа сделать это. С помощью внешнего минификатора я уменьшил размер файла со 100 до 18 МБ и хотел бы, чтобы в моем приложении был тот же результат, что и в родном.

Любые идеи?

Спасибо за любые предложения!


person Paul Würtz    schedule 27.02.2017    source источник


Ответы (1)


Замените PrettyWriter на Writer.

И вы также можете заархивировать содержимое. Это значительно уменьшит размер.

person Paulo Pereira    schedule 27.02.2017
comment
Совершенно очевидно, но совершенно не узнал этих двух разных Писателей :) Большое спасибо! - person Paul Würtz; 28.02.2017