0
点赞
收藏
分享

微信扫一扫

将 DataTable 类型转换成 List<T> 集合&Json类型


  • ASP.Net WebForm 应用程序,使用 ​​一般处理程序 .ashx​​​ 通过 Ajax 将数据以​​Json​​类型展示在前台时
  • 由于 ​​DataTable​​​ 类型并不能直接转换成 ​​Json​​​ 格式,所以通过将 ​​DataTable​​​ 类型先转换成 ​​List<T>​​​ 集合,再将 ​​List<T>​​​ 集合转换成 ​​Json​​ 格式

转换过程

  • 将 ​​DataTable​​​ 类型转换成 ​​List<T>​​ 集合

public static List<Student> GetStuInfo()
{
string sql = @"select ID,Name from StudentInfo";
DataTable dt = Helper.DBHelper.GetDataTable(sql, null);

//实例化一个 Student 的 List<T>集合
List<Student> list = new List<Student>();
foreach (DataRow item in dt.Rows)
{
// 实例化一个 Student 类的对象
Student info = new Student
{
ID = Convert.ToInt32(item["ID"]),
Name = item["Name"].ToString(),
};
list.Add(info);
}
return list;
}

  • 将 ​​List<T>​​​ 集合数据集 序列化为 ​​Json​​ 格式

//引入命名空间(用于 Json 序列化)
using System.Web.Script.Serialization;

public static void SelStuInfo(HttpContext context)
{
// 获取 上述方法返回的list集合数据集
var stuinfo = GetStuInfo();
// 实例化一个 jss 对象 用于 将list集合数据 序列化为 Json 格式
JavaScriptSerializer jss = new JavaScriptSerializer();
string json = jss.Serialize(stuinfo);
// 输出 序列化 后的 Json 数据集
context.Response.Write(json);
}

  • 至此转换结束,数据集将以 ​​Json​​ 格式在前台展示


举报

相关推荐

0 条评论