将JSON对象反序列化为Datatable

时间:2015-03-17 08:49:13

标签: c# .net json c#-4.0

IDE:Visual Studio 2010 平台:C#

我正在尝试将包含两个不同表中的数据的JSON对象转换为Data表。这是我写的代码:

JavaScriptSerializer objJSSWW = new JavaScriptSerializer();
var lastBattingDetailsWW = JsonConvert.DeserializeObject<EmpDetails>(JsonBattingWW);


public class EmpDetails
{
    public List<List<object>> Table { get; set; }
    public List<List<object>> Table1 { get; set; }
}

我希望这两个表存储在DataTable中。有什么建议吗?

1 个答案:

答案 0 :(得分:0)

尝试给你一些(至少伪)代码。 假设你有一个固定长度的'List'。对于这个例子,我假设你的List包含3个元素。

DataTable dataTable1 = new DataTable();
dataTable1.Columns.Add("col1");
dataTable1.Columns.Add("col2");
dataTable1.Columns.Add("col3");
foreach (var row in EmpDetails.Table)
{
    dataTable1.Rows.Add(row.ToArray());
}

DataTable dataTable2 = new DataTable();
dataTable2.Columns.Add("col1");
dataTable2.Columns.Add("col2");
dataTable2.Columns.Add("col3");
foreach (var row in EmpDetails.Table1)
{
    dataTable2.Rows.Add(row.ToArray());
}

如果您有2个具有相同列的表,则可以简单地合并它们:

dataTable1.Merge(dataTable2);