Десериализация JSON в LiteDB

1185
07 марта 2017, 13:19

В проекте нужно из JSON-строки получить экземпляр некоторого класса, используя библиотеку LiteDB.
JSON:

{
   "field1": "string",
   "field2": 1
}

Классы устроены следующим образом:

class Class1
{
    public string field1;
    public int field2;
}

В классе-наследнике LiteDatabase определен следующий метод:

private T Read<T>(Stream inStream)
{
    var ms = new MemoryStream();
    inStream.CopyTo(ms);
    var bytes = ms.ToArray();
    ms.Dispose();
    var doc = BsonSerializer.Deserialize(bytes);
    return Mapper.ToObject<T>(doc);
}

Проблема в том, что при выполнении BsonSerializer.Deserializeвызывается исключение:

System.IndexOutOfRangeException не обработано пользовательским кодом
  HResult=-2146233080
Message=Индекс находился вне границ массива.
Source=LiteDB
StackTrace:
   в LiteDB.BsonReader.ReadCString(ByteReader reader)
   в LiteDB.BsonReader.ReadElement(ByteReader reader, String& name)
   в LiteDB.BsonReader.ReadDocument(ByteReader reader)
   в LiteDB.BsonSerializer.Deserialize(Byte[] bson)
READ ALSO
Emgu C# [Unable to read from webcam c# emgu]

Emgu C# [Unable to read from webcam c# emgu]

Нашел на GitHub'e пример с использованием Emgu на C# (RedballTracker)Решил испытать этот пример, изучив код (учусь работать с Emgu)

298
WPF (C#) Splash экран прогресса загрузки в отдельном потоке

WPF (C#) Splash экран прогресса загрузки в отдельном потоке

Имеется приложениеПервый запуск

427
Регулярные выражения C# Выборка текста

Регулярные выражения C# Выборка текста

Не могу составить правильно регулярное выражениеПомогите!

261
DependencyProperty типа IList - изменение коллекции

DependencyProperty типа IList - изменение коллекции

Есть некий UserControlУ него есть свойство зависимостей ItemsProperty типа IList<string> (да да, именно строго типизированный лист)

243