JsonConvert.DeserializeObject выдает исключение при попытке десериализации byte[] в IEnumerableC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 JsonConvert.DeserializeObject выдает исключение при попытке десериализации byte[] в IEnumerable

Сообщение Anonymous »

Приведенный ниже код не выполняет десериализацию со следующей ошибкой.

Ошибка преобразования значения «AQID» в тип «System.Collections.Generic.IEnumerable`1[System. Байт]'

Код: Выделить всё

public class ByteArrayTest
{
public string SomeString { get; set; }
public IEnumerable ByteArray { get; set; }
}

using Newtonsoft.Json;

[TestClass]
public class UnitTest10
{
[TestMethod]
public void TestTheByteArraySerialization()
{
var test = new ByteArrayTest { ByteArray = new byte[] { 1, 2, 3 }, SomeString = "testing" };
var serializedData = JsonConvert.SerializeObject(test);
//This line belows fails with an error of can't convert to IEnumerable
var myByeArrayClass = JsonConvert.DeserializeObject(serializedData);
Assert.AreEqual(test.ByteArray, myByeArrayClass.ByteArray);

}
}
В моем конкретном случае у меня нет класса ByteArrayTest, это всего лишь краткий пример проблемы. Мне нужно решение, которое не требует изменения класса ByteArrayTest. В идеале я бы передал что-то в одну из перегрузок DeserializeObject, чтобы это заработало, но я не уверен, как лучше всего разрешить это исключение

Подробнее здесь: https://stackoverflow.com/questions/174 ... eserialize
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»