将 DataTable 类型转换成 List<T> 集合&Json类型
原创
©著作权归作者所有:来自51CTO博客作者黑夜中的潜行者的原创作品,请联系作者获取转载授权,否则将追究法律责任
- 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
格式在前台展示