当先锋百科网

首页 1 2 3 4 5 6 7

在前端开发中,经常需要将服务器返回的数据以JSON格式展示在网页上。而后端开发中,可能会使用C#开发,查询到的数据需要以DataTable的形式传输到前端。这就需要将C#中的DataTable转换成JSON数据格式。

//C#代码示例
using System.Web.Script.Serialization;
using System.Data;
public static class DataTableConverter
{
public static string ToJson(DataTable dt)
{
JavaScriptSerializer serializer = new JavaScriptSerializer();
List>rows = new List>();
Dictionaryrow;
foreach (DataRow dr in dt.Rows)
{
row = new Dictionary();
foreach (DataColumn col in dt.Columns)
{
row.Add(col.ColumnName, dr[col]);
}
rows.Add(row);
}
return serializer.Serialize(rows);
}
}

以上代码中,我们首先引入了JavaScriptSerializer和System.Data两个命名空间。接下来定义了一个静态类DataTableConverter,其中包含了一个ToJson方法,该方法接受一个DataTable对象作为参数,返回JSON格式的字符串。

在ToJson方法中,我们遍历了DataTable的每一行,并在每一行中遍历了所有列。利用Dictionary对象存储当前行的数据,并利用List>对象存储所有行的数据。最后,调用JavaScriptSerializer对象的Serialize方法将List转换成JSON字符串。

//JSON格式示例
[
{"ID": 1, "Name": "Tom", "Age": 20},
{"ID": 2, "Name": "Jerry", "Age": 22},
{"ID": 3, "Name": "Kate", "Age": 21}
]

如上所示,转换后的JSON数据格式可以被前端的JavaScript代码轻松读取和解析,实现同步更新网页。