将 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 格式在前台展示

猜你喜欢

转载自blog.csdn.net/qq_43562262/article/details/109234777