Сравните JSON и BSON
Я сравниваю JSON и BSON для сериализации объектов. Эти объекты содержат несколько массивов большого числа целых чисел. В моем тесте объект, который я сериализую, содержит около 12 000 целых чисел. Меня интересует только сравнение размеров сериализованных результатов. Я использую JSON.NET в качестве библиотеки, которая выполняет сериализацию. Я использую JSON, потому что я также хочу иметь возможность работать с ним в Javascript.
Размер строки JSON составляет около 43 КБ, а размер результата BSON - 161 КБ. Таким образом, разница составляет около 4. Это не то, что я ожидал, потому что я смотрел на BSON, потому что я думал, что BSON более эффективен в хранении данных.
Поэтому мой вопрос: почему BSON не эффективен, можно ли сделать его более эффективным? Или есть другой способ сериализации данных с массивами, содержащими большое количество целых чисел, которые могут быть легко обработаны в Javascript?
Ниже вы найдете код для проверки сериализации JSON / BSON.
// 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();
}
Редактировать:
Вот результирующие файлыhttps://skydrive.live.com/redir?resid=9A6F31F60861DD2C!362&authkey =! АКА-ZZp8C_0gcR0