通常我们使用JavaScriptSerializer或者JSON.NET来序列化一个对象,但对于Datatable来说,其包含的数据比它的可序列化的属性更重要。

  我尝试把DataRow转化为一个Directory对象,然后将每一个Directory对象放入List中,最终生成的是DataRow的数组,代码如下:

  1. /// <summary>
  2. /// DataTable转为json
  3. /// </summary>
  4. /// <param name="dt">DataTable</param>
  5. /// <returns>json数据</returns>
  6. public static string ToJson(DataTable dt)
  7. {
  8. List<Dictionary<string, object>> list = new List<Dictionary<string, object>>();
  9. foreach (DataRow dr in dt.Rows)
  10. {
  11. Dictionary<string, object> result = new Dictionary<string, object>();
  12. foreach (DataColumn dc in dt.Columns)
  13. {
  14. result.Add(dc.ColumnName, dr[dc]);
  15. }
  16. list.Add(result);
  17. }
  18. return SerializeToJson(list);
  19. }
  1. /// <summary>
  2. /// 序列化对象为Json字符串
  3. /// </summary>
  4. /// <param name="obj">要序列化的对象</param>
  5. /// <param name="recursionLimit">序列化对象的深度,默认为100</param>
  6. /// <returns>Json字符串</returns>
  7. public static string SerializeToJson(this object obj, int recursionLimit = 100)
  8. {
  9. JavaScriptSerializer serialize = new JavaScriptSerializer();
  10. serialize.RecursionLimit = recursionLimit;
  11. return serialize.Serialize(obj);
  12. }

转载于:https://blog.51cto.com/zerosoft/1137994

DataTable序列化为JSON字符串相关推荐

  1. js对象序列化为json字符串

    网上找了找将js对象序列化为json字符串的方法.结果都不近人意,最后自己写了一个. 注意你得自己为Date增加toString()方法. function Serialize(obj){switch ...

  2. JavaScriptSerializer类 对象序列化为JSON,JSON反序列化为对象

    JavaScriptSerializer 类由异步通信层内部使用,用于序列化和反序列化在浏览器和 Web 服务器之间传递的数据.说白了就是能够直接将一个C#对象传送到前台页面成为javascript对 ...

  3. Jquery 将表单序列化为Json对象

    大家知道Jquery中有serialize方法,可以将表单序列化为一个"&"连接的字符串,但却没有提供序列化为Json的方法.不过,我们可以写一个插件实现. 我在网上看到有 ...

  4. python 数据库查询序列化_python-将sqlalchemy类序列化为json

    我正在尝试将sqlalchemy查询的结果(列表)序列化为json. 这是课程: class Wikilink(Base): __tablename__='Wikilinks' __table_arg ...

  5. 将Roaring Bitmap序列化为JSON

    近期在实现一个数据结构时使用到了位图索引(bitmap index)[1],本文就来粗浅聊聊位图(bitmap). 一. 什么是bitmap 位图索引使用位数组(bit array,也有叫bitset ...

  6. C# 对象序列化之序列化为Json文件(一)

    目录 1.概念 1.1原理 1.2用途 1.3 JSON序列化 1.4 二进制和XML序列化 2. 序列化为JSON 2.1 简单的序列化 2.2 复杂的序列化 3 忽略属性 3.1 忽略单个属性 3 ...

  7. php直接json_encnode对象,将PHP对象序列化为JSON

    所以我在 php.net左右徘徊,了解有关将PHP对象序列化为JSON的信息,当我偶然发现新的 JsonSerializable Interface时.它只有PHP> = 5.4,我在5.3.x ...

  8. js如何生成一个对象,并转化为json字符串

    js如何生成一个对象,并转化为json字符串,很多人都会误写为: var ary = []; var obj = {}; for (var i = 0; i < 3; i++) {obj.nam ...

  9. 关联数组不能转化为JSON字符串

    关联数组不能转化为JSON字符串 转载于:https://www.cnblogs.com/Skate0rDie/p/11416373.html

  10. Newtonsoft.Json.dll序列化为json,null值自动过滤

    Newtonsoft.Json.dll序列化为json,null值自动过滤 原文:Newtonsoft.Json.dll序列化为json,null值自动过滤 var jSetting = new Js ...

最新文章

  1. 分享Silverlight/WPF/Windows Phone一周学习导读(8月15日-8月19日)
  2. acer清理工具 clear下载_时秋极致清理大师app下载安装_时秋极致清理大师软件最新版免费下载...
  3. Android 模糊效果
  4. python中bin是什么意思_Python之一、#!/usr/bin/python到底是什么意思
  5. 大数据陷阱:谁有权享有大数据,谁有权分析大数据
  6. 最短路径之--floyd算法--多源最短路径
  7. android readonly file system,安卓ROOT权限下“Read-only file sytem”解决办法
  8. e-mobile帐号状态存在异常_Java 常见异常种类
  9. 计算机科学在地理信息科学中的作用,地理信息科学的孕育和发展
  10. linux阵列建立分区,在Linux上创建磁盘阵列———RAID-5
  11. Jboss 安装配置
  12. java爬虫模拟登陆_java爬虫实战之模拟登陆
  13. 勒索病毒自救在线工具
  14. java图片转为矢量文件_java 通过batik 把svg格式的矢量图生成png图片
  15. 上海电信宽带自助修复服务器,家庭网络故障自助修复法
  16. 打开IIS管理器命令cmd
  17. 门禁系统java_java实现门禁系统
  18. 南京大学计算机有分学硕专硕,南京大学的学硕和专硕有什么区别吗
  19. 华为手机怎么测试Android,华为手机怎么对硬件进行检测?华为手机硬件检测教程...
  20. 华为OD机试 - 找朋友(Java JS Python)

热门文章

  1. c#物联网_「物联网架构」Apache-Kafka:物联网数据平台的基石
  2. 算法中的最优化方法_学习目录
  3. 计算机操作系统详细学习笔记(二):处理器管理
  4. 一道学吧上的题目,python3 - 解决高中的古典概率问题: 有A、B两个袋子。A袋中装有4个白球、2个黑球,B袋中装有3个白球、4个黑球。从A、B两个袋子中
  5. 使用threading多线程模块的demo
  6. 如果希望完全安装mysql应选择_Windows下安装MySQL最佳实践
  7. 互相引用 spring_Spring-bean的几种循环依赖方式
  8. 尚硅谷Docker---docker安装及简介
  9. IE下图片切换的时候,图片总是切换不成功---根本问题是IE缓存图片
  10. iOS8 自定义navigationbar 以及 UIBarButtonItem 边距问题