2016-04-08 8 views
0

У меня есть Json (gridModel), который может быть массив Json или простая Json String. Я хочу сериализовать его в список, который соответствует Json. Использование Newtonsoft.Json.Преобразование JSON в DataTable напрямую

JArray jGridModel = JArray.Parse(gridModel); 
List<ClassName> colModel = jGridModel.ToObject<List<ClassName>>(); 

Это прекрасно работает, если gridModel является массив JSON, но если его один JSON, он выдает ошибку. Пожалуйста помогите.

Другой вопрос. Вместо того, чтобы преобразовывать его в список, есть ли способ напрямую преобразовать JSONArray в DataTable, пожалуйста, помогите. Благодарю.

+1

Что такое ошибка? – CathalMF

ответ

0

Вы должны проверить, если объект создается с помощью кода JArray jGridModel = JArray.Parse(gridModel); является о Тип списка См обновленный код ниже:

JArray jGridModel = JArray.Parse(gridModel); 

// declare your output variable 
List<ClassName> colmodel = new List<ClassName>(); 

// use var so it can accept any output type 
var outputObject = jGridModel.ToObject<List<ClassName>>(); 

// check the type of the output 
if (outputObject is ClassName){ 
    colmodel.Add(outputObject); 
} 
else{ 
    colmodel = outputObject; 
} 
//colmodel is your output which is always a List<ClassName> type 
+0

Спасибо. Я это проверю. –

Смежные вопросы