在开发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相关推荐

  1. [工具类]DataTable与泛型集合List互转

    写在前面 工作中经常遇到datatable与list,对于datatable而言操作起来不太方便.所以有的时候还是非常希望通过泛型集合来进行操作的.所以这里就封装了一个扩展类.也方便使用. 类 方法中 ...

  2. 将json字符串中数组节点转换为泛型list集合(gson)

    开发中需要将json中节点单独取出某个节点,解析获取数据,此处对json字符串节点中数组节点,转换为泛型list集合,使用gson. google的gson的pom文件和jar:gson 代码如下: ...

  3. Datatable转换为Json

    /// <summary> /// Datatable转换为Json /// </summary> /// <param name="table"&g ...

  4. DataTable转换为ListT或者DataRow转换为T

    这段时间开发ASP.NETMVC应用程序,从数据库获取数据之后,需要把记录转换为数据集在视图中显示.我们需要把DataTable转换为List<T>或者DataRow转换为T. 本篇中可以 ...

  5. 【机房收费个人版】DataTable 与泛型集合的较量

    将近三周的时间,我学到了很多知识,让我受益匪浅!也通过这三周的积累和整理,现在是时候写博客分享我的所知所得了..下面主要写DataTable.泛型集合以及它们之间的比较.. DataTable     ...

  6. Silverlight中如何自己写方法将DataTable转换为PagedCollectionView数据(动态创建类)

    将DataTable转换为PagedCollectionView数据,我们可以借用DataTable的GetBindableData()方法,如下: 1 DataTable dt=new DataTa ...

  7. android 生成泛型对象,java android解析多层含有泛型对象的json数据获取不到泛型类型解析失败解决办法...

    ####问题描述 * java 解析多层含有泛型对象的json数据获取不到泛型类型 * 如果将泛型改成实际的类型就能正常解析 * 如果不改成实际的类型泛型数据被解析成com.google.gson.i ...

  8. php音频转换接口,PHP实现chrome表单请求数据转换为接口使用的json数据

    为什么要写转换程序 最近在做旧版程序迁移,旧的架构为常规的MVC模式,新版架构全部改成restful架构. 由于改版数据是一致的,但是请求结构不一致,新版的请求全部以json形式提交,为了方便测试,之 ...

  9. cad step格式转换为threejs支持的json格式

    step格式的文件在网页端3D显示的时候是不能直接加载的.因为threejs没有提供step格式的加载器.所以如果需要在网页端显示step模型就需要先将step格式的文件进行转换.有的技术方案是通过先 ...

  10. 当Java泛型擦除遇到JSON序列化和反序列化

    当Java泛型类型擦除遇到JSON序列化和反序列化 目录 当Java泛型类型擦除遇到JSON序列化和反序列化 前言 测试 前言 -最近看到了Spring 关于 RestTemplate的源码实现又有了 ...

最新文章

  1. 反编译工具jad简单用法
  2. 匿名发差评被判赔3272元,北京研究生遭遇冲上热搜,涉事机构回应:暂不澄清...
  3. 一些少见的下载地址(按需求更新)
  4. OpenCV 3最新模块介绍
  5. Unity3D——C#编译到运行的过程分析
  6. 如何制作出让女朋友满意的大片
  7. OpenCV防止数据溢出saturate_cast
  8. oracle execute immediate用法
  9. java 反射抽象_Java实现抽象工厂模式+java的反射的机制
  10. Android车牌识别sdk开发包,基于Android和iOS平台的车牌识别SDK开发包
  11. 被static修饰的map、list GC问题
  12. 移动端扫描vin码/车架号识别
  13. phyton list排序
  14. 只需操作这三步,轻松找回电脑上被删除的文件
  15. 知到答案 环境学概论 智慧树网课章节测试答案
  16. 02中国华南华东华北华中华西等位置画出来
  17. 语音合成工具Coqui TTS安装及体验
  18. 这篇文章记录平时学习、项目中遇到的问题(未解决的居多)
  19. CDS软件语音测试,cds测试软件
  20. 贝叶斯统计 韦来生 课后题答案 第一章

热门文章

  1. NLP算法面试的一些个人建议
  2. 【数学基础】特征值,特征向量与SVD奇异值分解
  3. 【学术】论文读不懂怎么办?
  4. 七年师大,青春永不毕业
  5. 论文赏析【EMNLP19】多粒度自注意力机制(MG-SA)
  6. PyTorch学习—22.PyTorch中常见报错
  7. 1.4 案例:广告预测、房价预测
  8. 图论算法——加权有向图的数据结构
  9. 分布式数据库的优越性
  10. iPhone企业应用实例分析之四:技术要点分析(1)