把DataTable转换为泛型ListT或是JSON
在开发ASP.NET Web API或ASP.NET MVC时,我们从数据库得到的数据往往是DataSet或是DataTable。为了能让前端JQuery能方便使用至这些数据,我们需要把这些数据转换为泛型List<T>或是JSON。
Insus.NET有把这个转换功能写成一个扩展方法:
方法源代码:
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();}
View Code
把DataTable转换为JSON:
方法源代码:
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);}
View Code
实例应用,可以从下面这篇可以参考:《创建与使用Web API》 http://www.cnblogs.com/insus/p/5019088.html
转载于:https://www.cnblogs.com/insus/p/5034995.html
把DataTable转换为泛型ListT或是JSON相关推荐
- [工具类]DataTable与泛型集合List互转
写在前面 工作中经常遇到datatable与list,对于datatable而言操作起来不太方便.所以有的时候还是非常希望通过泛型集合来进行操作的.所以这里就封装了一个扩展类.也方便使用. 类 方法中 ...
- 将json字符串中数组节点转换为泛型list集合(gson)
开发中需要将json中节点单独取出某个节点,解析获取数据,此处对json字符串节点中数组节点,转换为泛型list集合,使用gson. google的gson的pom文件和jar:gson 代码如下: ...
- Datatable转换为Json
/// <summary> /// Datatable转换为Json /// </summary> /// <param name="table"&g ...
- DataTable转换为ListT或者DataRow转换为T
这段时间开发ASP.NETMVC应用程序,从数据库获取数据之后,需要把记录转换为数据集在视图中显示.我们需要把DataTable转换为List<T>或者DataRow转换为T. 本篇中可以 ...
- 【机房收费个人版】DataTable 与泛型集合的较量
将近三周的时间,我学到了很多知识,让我受益匪浅!也通过这三周的积累和整理,现在是时候写博客分享我的所知所得了..下面主要写DataTable.泛型集合以及它们之间的比较.. DataTable ...
- Silverlight中如何自己写方法将DataTable转换为PagedCollectionView数据(动态创建类)
将DataTable转换为PagedCollectionView数据,我们可以借用DataTable的GetBindableData()方法,如下: 1 DataTable dt=new DataTa ...
- android 生成泛型对象,java android解析多层含有泛型对象的json数据获取不到泛型类型解析失败解决办法...
####问题描述 * java 解析多层含有泛型对象的json数据获取不到泛型类型 * 如果将泛型改成实际的类型就能正常解析 * 如果不改成实际的类型泛型数据被解析成com.google.gson.i ...
- php音频转换接口,PHP实现chrome表单请求数据转换为接口使用的json数据
为什么要写转换程序 最近在做旧版程序迁移,旧的架构为常规的MVC模式,新版架构全部改成restful架构. 由于改版数据是一致的,但是请求结构不一致,新版的请求全部以json形式提交,为了方便测试,之 ...
- cad step格式转换为threejs支持的json格式
step格式的文件在网页端3D显示的时候是不能直接加载的.因为threejs没有提供step格式的加载器.所以如果需要在网页端显示step模型就需要先将step格式的文件进行转换.有的技术方案是通过先 ...
- 当Java泛型擦除遇到JSON序列化和反序列化
当Java泛型类型擦除遇到JSON序列化和反序列化 目录 当Java泛型类型擦除遇到JSON序列化和反序列化 前言 测试 前言 -最近看到了Spring 关于 RestTemplate的源码实现又有了 ...
最新文章
- 反编译工具jad简单用法
- 匿名发差评被判赔3272元,北京研究生遭遇冲上热搜,涉事机构回应:暂不澄清...
- 一些少见的下载地址(按需求更新)
- OpenCV 3最新模块介绍
- Unity3D——C#编译到运行的过程分析
- 如何制作出让女朋友满意的大片
- OpenCV防止数据溢出saturate_cast
- oracle execute immediate用法
- java 反射抽象_Java实现抽象工厂模式+java的反射的机制
- Android车牌识别sdk开发包,基于Android和iOS平台的车牌识别SDK开发包
- 被static修饰的map、list GC问题
- 移动端扫描vin码/车架号识别
- phyton list排序
- 只需操作这三步,轻松找回电脑上被删除的文件
- 知到答案 环境学概论 智慧树网课章节测试答案
- 02中国华南华东华北华中华西等位置画出来
- 语音合成工具Coqui TTS安装及体验
- 这篇文章记录平时学习、项目中遇到的问题(未解决的居多)
- CDS软件语音测试,cds测试软件
- 贝叶斯统计 韦来生 课后题答案 第一章