【发布时间】:2019-02-28 15:56:20
【问题描述】:
我有两种类型的 SalesData 和 CollectionData。这两种类型是完全不同的类型。因此,当我将数据传递给前端时,我创建了动态数据类型并根据调用将数据传递给前端。
在接收数据时,我创建了 json 数据,它是对象数组。
现在我处于如何根据类型将传入数组分配给 List 或 List 的情况。
这就是我所做的。
public ActionResult DownloadDataInExcel(List<object>data, int type)
{
if (type == (int)MyEnum.Sales)
{
var mycontacts = JsonConvert.DeserializeObject<List<SalesData>>(data.ToString());
foreach (var item in mycontacts)
{
System.Diagnostics.Debug.WriteLine($"{item.Name}-{item.City}-{item.Country}");
}
}else
{
var mycontacts = JsonConvert.DeserializeObject<List<CollectionData>>(data.ToString());
foreach (var item in mycontacts)
{
System.Diagnostics.Debug.WriteLine($"{item.Name}-{item.City}-{item.Country}");
}
}
//to do: Convert data to Excel File
throw new NotImplementedException();
}
【问题讨论】:
-
您是否成功地将您的 json 反序列化为
SalesData或CollectionData类型? -
没有。我认为问题是我从 ajax 传递数组数组。
-
请为 SalesData 和 CollectionData 编写 JSON 和类。你可能在结构上有问题。如果您提供完整的信息,我们可以提供帮助
-
问题是我通过 ajax 传递的数据导致了错误。我在字符串化后传递了 json 对象,并在我的方法中作为字符串接收。 "public ActionResult DownloadDataInExcel(string data, int type)".
-
我想问一个问题是,你不知道传入的 json 数据类型和你想反序列化为 SalesData 或 CollectionData 类型的操作方法?
标签: c# asp.net-mvc dynamic