在我的ASP.NET MVC操作中,我试图从.NET数据表中生成JSON。
我读了一篇文章,该文章显示了jQuery数据表列和数据的JSON外观。文章链接为https://www.c-sharpcorner.com/article/asp-net-jquery-datatables-plugin-with-dynamic-numbers-of-columns/
带有数据的列的JSON如下:
[{
"columns": [{
"title": "col1_name",
"data": "col1_name"
}, {
"title": "col2_name",
"data": "col2_name"
}],
"data": [{
"col1_name": "col1 data",
"col2_name": "col2 data"
}, {
"col1_name": "col1 data",
"col2_name": "col2 data"
}]
}]
当我从.NET数据表中生成JSON时,它看起来像[{"ID":1,"Name":"Ajay"},{"ID":2,"Name":"Sanu"}]
,如果我将其与jQuery数据表绑定,那么它将无法正常工作,因为我们需要提及jQuery数据表的列详细信息。
这是我从.NET数据表生成JSON的示例代码。我尝试过这种方式,但无法为我的第一个JSON示例生成JSON。所以指导我该怎么做?
DataTable dt = new DataTable();
dt.Columns.Add("ID", typeof(Int32));
dt.Columns.Add("Name", typeof(string));
DataRow dr = dt.NewRow();
dr[0] = 1;
dr[1] = "Ajay";
dt.Rows.Add(dr);
dr = dt.NewRow();
dr[0] = 2;
dr[1] = "Sanu";
dt.Rows.Add(dr);
var lst = dt.AsEnumerable()
.Select(r => r.Table.Columns.Cast<DataColumn>()
.Select(c => new KeyValuePair<string, object>(c.ColumnName, r[c.Ordinal])
).ToDictionary(z => z.Key, z => z.Value)
).ToList();
//now serialize it
var serializer = new System.Web.Script.Serialization.JavaScriptSerializer();
var m= serializer.Serialize(lst);
因此,请告诉我代码中要进行哪些更改,以使JSON应该正确显示将由.NET数据表生成的jQuery数据表。