Не удается импортировать Json - C#
У меня есть следующая структура класса
public class AreaFields
{
public List<Fields> Fields { set; get; }
}
public class Fields
{
public string Name { set; get; }
public string Value {set; get; }
}
Когда я экспортирую в Json, используя Jayrock.Json.Conversion.JsonConvert.ExportToString(List<AreaField> obj)
все работает нормально. Проблема в том, что когда я пытаюсь импортировать его обратно в список AreaField, собственный импорт завершается неудачно. Что я пытаюсь
Jayrock.Json.Conversion.JsonConvert.Import(strJson)
Есть ли способ переопределить метод импорта?
РЕДАКТИРОВАТЬ: Да, Джейрок знает тип объекта. Полагаю, это связано с сериализацией списка.
Export -
List<AreaField> list = GetAListOfAreaFields();
string sJson = Jayrock.Json.Conversion.JsonConvert.ExportToString(list)
Import -
List<AreaField> list = (AreaField)JsonConvert.Import(typeof(AreaField, sJson);
Исключение - невозможно импортировать AreaField из значения массива JSON.
3 ответа
Похоже, вы экспортируете List<AreaField>
но пытается импортировать AreaField
(единственное число). Пытаться:
List<AreaField> list = (List<AreaField>)JsonConvert.Import(typeof(List<AreaField>, sJson);
Список<> не работает, но массив работает. Как это:
AreaField[] list = JsonConvert.Import<AreaField[]>(sJson);
"Это не работает" - не очень хорошее начало. Исключение? Неверные данные? Знает ли Джейрок тип объекта?
AreaFields af = (AreaFields)Jayrock.Json.Conversion.JsonConvert.Import(typeof(AreaFields), strJson);