【问题标题】:Convert JSON to a DataTable directly直接将 JSON 转换为 DataTable
【发布时间】:2016-04-08 12:13:16
【问题描述】:

我有一个 Json(gridModel),它可以是 一个 Json 数组或简单的 Json 字符串。我想将它序列化为一个与 Json 匹配的列表。使用 Newtonsoft.Json。

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

如果 gridModel 是 JSON 数组,这可以正常工作,但如果它是单个 JSON,则会引发错误。请帮忙。

另一个问题。而不是将其转换为List,有没有办法将JSONArray直接转换为DataTable,请帮助。谢谢。

【问题讨论】:

  • 错误是什么?

标签: c# json serialization json.net


【解决方案1】:

您需要检查代码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

【讨论】:

  • 谢谢。我去看看。
猜你喜欢
  • 2018-03-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-06-16
  • 1970-01-01
  • 2020-04-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多