2009-03-24 8 views
2

Я имею следующую структуру класса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) 

Есть ли способ переопределить метод импорта?

EDIT: Да, jayrock знает тип объекта. Я предполагаю, что он должен что-то сделать со мной, сериализуя список.

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 Array.

ответ

0

«Это не работает» не является хорошим началом. Исключение? Неверные данные? Знает ли Jayrock тип объекта?

AreaFields af = (AreaFields)Jayrock.Json.Conversion.JsonConvert.Import(typeof(AreaFields), strJson); 
1

Похоже, вы экспортирования List<AreaField> но пытаетесь импортировать AreaField (в единственном числе). Попытка:

List<AreaField> list = (List<AreaField>)JsonConvert.Import(typeof(List<AreaField>, sJson); 
0

Список <> не работает, но массив работает. Пример:

AreaField[] list = JsonConvert.Import<AreaField[]>(sJson); 
Смежные вопросы