在前端开发中,经常需要将服务器返回的数据以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 >(); Dictionary row; 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
//JSON格式示例 [ {"ID": 1, "Name": "Tom", "Age": 20}, {"ID": 2, "Name": "Jerry", "Age": 22}, {"ID": 3, "Name": "Kate", "Age": 21} ]
如上所示,转换后的JSON数据格式可以被前端的JavaScript代码轻松读取和解析,实现同步更新网页。