Vergleichen Sie JSON und BSON

Ich bin den Vergleich von JSON und BSON für das serialisieren von Objekten. Diese Objekte enthalten mehrere arrays von einer großen Anzahl von ganzen zahlen. In meinem test-Objekt, ich bin der Serialisierung enthält eine Gesamtzahl von rund 12 000 zahlen. Ich bin nur daran interessiert, wie die Größen vergleichen der Ergebnisse serialisiert. Ich bin mit JSON.NET als die Bibliothek, die nicht die Serialisierung. Ich bin mit JSON denn ich möchte auch in der Lage sein, mit ihm zu arbeiten, in Javascript.

Die Größe der JSON-string wird über 43kb und die Größe des BSON-Ergebnis ist 161kb. Also ein Unterschied um etwa den Faktor 4. Dies ist nicht das, was ich erwartet hatte, denn ich sah BSON, weil ich dachte, BSON ist effizienter bei der Speicherung von Daten.

Also meine Frage ist, warum ist BSON nicht effizient ist, kann es effizienter gemacht werden? Oder gibt es eine andere Möglichkeit der Serialisierung von Daten mit arrays, die große Anzahl der zahlen, die leicht gehandhabt werden können, die in Javascript?

Unten finden Sie den code zum testen der JSON/BSON-Serialisierung.

        //Read file which contain json string
        string _jsonString = ReadFile();
        object _object = Newtonsoft.Json.JsonConvert.DeserializeObject(_jsonString);
        FileStream _fs = File.OpenWrite("BsonFileName");
        using (Newtonsoft.Json.Bson.BsonWriter _bsonWriter = new BsonWriter(_fs) 
               { CloseOutput = false })
        {
            Newtonsoft.Json.JsonSerializer _jsonSerializer = new JsonSerializer();
            _jsonSerializer.Serialize(_bsonWriter, _object);
            _bsonWriter.Flush();
        }

Edit:

Hier sind die resultierenden Dateien
https://skydrive.live.com/redir?resid=9A6F31F60861DD2C!362&authkey=!AKU-ZZp8C_0gcR0

InformationsquelleAutor der Frage Ronald | 2012-09-26

Schreibe einen Kommentar