把DataTable转换为泛型List<T>或是JSON
2023-09-27 14:21:30 时间
在开发ASP.NET Web API或ASP.NET MVC时,我们从数据库得到的数据往往是DataSet或是DataTable。为了能让前端JQuery能方便使用至这些数据,我们需要把这些数据转换为泛型List<T>或是JSON。
Insus.NET有把这个转换功能写成一个扩展方法:
方法源代码:
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
public static List<T> ToList<T>(this DataTable dt) { var columnNames = dt.Columns.Cast<DataColumn>() .Select(c => c.ColumnName) .ToList(); var properties = typeof(T).GetProperties(); return dt.AsEnumerable().Select(row => { var objT = Activator.CreateInstance<T>(); foreach (var pro in properties) { if (columnNames.Contains(pro.Name)) pro.SetValue(objT, row[pro.Name] == DBNull.Value ? string.Empty : row[pro.Name].ToString(), null); } return objT; }).ToList(); }
方法源代码:
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
public static string ToJson(this DataTable table) { List<Dictionary<string, object>> list = new List<Dictionary<string, object>>(); foreach (DataRow row in table.Rows) { Dictionary<string, object> dict = new Dictionary<string, object>(); foreach (DataColumn col in table.Columns) { dict[col.ColumnName] = row[col]; } list.Add(dict); } return serializer.Serialize(list); }
实例应用,可以从下面这篇可以参考:《创建与使用Web API》 http://www.cnblogs.com/insus/p/5019088.html
相关文章
- 【Python】Padas DataFrame和列表List相互转换
- Java 如何将 List 转换为 MAP
- 大写字母或小写字母转换为数字
- 把DataTable转换为List<T>
- DataTable转换为List<T>或者DataRow转换为T
- Dom4J解析xml文件动态转换为List<Bean>或者Map集合
- 凝视转换(c转换为c++)
- JSON 格式的转换: 数组、字符串、List集合、DataTable,实体对象
- Notepad++的一个用法 转换为unix 格式的文件
- springmvc 支持对象与json 自动转换的配置
- js声明json数据,打印json数据,遍历json数据,转换json数据为数组
- List与array的相互转换
- python 有关datetime时间日期 以及时间戳转换
- map 和 json 和 string 相互转换的方法
- 【MySQL】数据表行列转换
- 1.12 将空值转换为实际值
- Java8 Stream(7)List集合转换 map flatMap 区别
- FastConverter .FP3转换为几乎任何流行的格式
- Databinding layout布局转换
- char和int互相转换