将 JSON 对象反序列化为数据表

Deserialize JSON object to Datatable

IDE: Visual Studio 2010 平台:C#

我正在尝试将由两个不同 table 中的数据组成的 JSON 对象转换为数据 table。这是我写的代码:

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; }
}

我想将这两个table存储在DataTable中。有什么建议吗?

试图给你一些(至少是伪)代码。 假设您的“列表”长度固定。对于此示例,我假设您的列表包含 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);