2017-02-27 3 views
0

Ich verwende rapidjson, um einige Daten für einige Statistik und Plotten eines C++ - Programmalgorithmus wie eine interne Laufzeit Snapshots des Algorithmus ausgeben.Ausgabe von Rapidjson verkleinern

I-Ausgang json wie folgt aus:

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() ; 

Als Dateien recht groß geworden (~ 100MiB) ich möchte Ausgabe minimierte json, aber ich habe nicht eine dokumentierte Art und Weise, dies zu tun finden. Mit einem externen Minifier habe ich die Dateigröße von 100 auf 18MB verkleinert und möchte das gleiche Ergebnis wie in meiner Anwendung haben.

Irgendwelche Ideen?

Vielen Dank für Anregungen!

Antwort

1

Ersetzen Sie PrettyWriter für Writer.

Und Sie könnten ZIP den Inhalt auch. Dies wird die Größe erheblich reduzieren.

+0

Ganz offensichtlich, aber total diese beiden verschiedenen Writer nicht erkannt :) Vielen Dank! –