我有一个Json(gridModel)可能是一个Json数组或简单的Json String。我想将它序列化为一个匹配Json的List。使用Newtonsoft.Json。
JArray jGridModel = JArray.Parse(gridModel);
List<ClassName> colModel = jGridModel.ToObject<List<ClassName>>();
如果gridModel是一个JSON数组,这可以正常工作,但如果它是一个JSON,它会抛出一个错误。请协助。
另一个问题。而不是将其转换为List,有没有办法直接将JSONArray转换为DataTable,请帮忙。感谢。
答案 0 :(得分: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