001 using System;
002 using System.Collections.Generic;
003 using System.Linq;
004 using System.Text;
005 using System.Data;
006   
007 namespace Common
008
009   
010     public static class JsonExtensions
011     
012         #region DataSetToJson 扩展方法
013         /// <summary>
014         /// DataSetToJson 扩展方法
015         /// </summary>
016         /// <param name="ds">要传入的DataSet</param>
017         /// <param name="JsonName">Json的名称</param>
018         /// <param name="ParName">Json字段名称</param>
019         /// <returns>返回JSON字符串</returns>
020         public static string DataSetToJson(this DataSet ds, string JsonName, string[] ParName)
021         
022             try
023             
024                 if (ds == null
025                 
026                     return "DataSet Is Null ,So I Can't Do It To Json!"
027                 
028                 if (JsonName.Length < 1)
029                 
030                     return "You Set The Json Name Is Wrong!"
031                 
032                 if (ds.Tables[0].Columns.Count < ParName.Length)
033                 
034                     return "You Give The ParName Is Bigger Than DataSet Columns!"
035                 
036                 string josn = "{" + JsonName + ":["
037                 string temp = ""
038                 for (int j = 0; j < ds.Tables[0].Rows.Count; j++)
039                 
040                     temp = temp + "{"
041                     for (int i = 0; i < ParName.Length; i++)
042                     
043                         temp += "" + ParName[i] + ":\'" + ds.Tables[0].Rows[j][ParName[i]] + "\'"
044                         if (i != ParName.Length - 1)
045                         
046                             temp = temp + ","
047                         
048                     
049                     if (j == ds.Tables[0].Rows.Count - 1)
050                     
051                         temp = temp + "}"
052                     
053                     else
054                     
055                         temp = temp + "},"
056                     
057                 
058                 josn = josn + temp + "]}"
059                 return josn;
060             
061             catch (Exception ex)
062             
063                 return "Codeing is Error----" + ex.ToString();
064             
065   
066         
067   
068         #endregion
069   
070         #region  DataSetToJson 扩展方法
071         /// <summary>
072         /// DataSetToJson 扩展方法
073         /// </summary>
074         /// <param name="ds">要传入的DataSet</param>
075         /// <returns>返回JSON字符串<</returns>
076         public static string DataSetToJson(this DataSet ds)
077         
078             try
079             
080                 if (ds == null
081                 
082                     return "DataSet Is Null ,So I Can't Do It To Json!"
083                 
084                 string josn = "["
085                 string temp = ""
086                 for (int j = 0; j < ds.Tables[0].Rows.Count; j++)
087                 
088                     temp = temp + "{"
089                     for (int i = 0; i < ds.Tables[0].Columns.Count; i++)
090                     
091                         temp += "" + ds.Tables[0].Columns[i].ColumnName + ":\'" + ds.Tables[0].Rows[j][i] + "\'"
092                         if (i != ds.Tables[0].Columns.Count - 1)
093                         
094                             temp = temp + ","
095                         
096                     
097                     if (j == ds.Tables[0].Rows.Count - 1)
098                     
099                         temp = temp + "}"
100                     
101                     else
102                     
103                         temp = temp + "},"
104                     
105                 
106                 josn = josn + temp + "]"
107                 return josn;
108             
109             catch (Exception ex)
110             
111                 return "Codeing is Error----" + ex.ToString();
112             
113   
114         
115         #endregion
116     
117 }

DataSetToJson 扩展方法的更多相关文章

  1. .NET Core中间件的注册和管道的构建(3) ---- 使用Map/MapWhen扩展方法

    .NET Core中间件的注册和管道的构建(3) ---- 使用Map/MapWhen扩展方法 0x00 为什么需要Map(MapWhen)扩展 如果业务逻辑比较简单的话,一条主管道就够了,确实用不到 ...

  2. .NET Core中间件的注册和管道的构建(2)---- 用UseMiddleware扩展方法注册中间件类

    .NET Core中间件的注册和管道的构建(2)---- 用UseMiddleware扩展方法注册中间件类 0x00 为什么要引入扩展方法 有的中间件功能比较简单,有的则比较复杂,并且依赖其它组件.除 ...

  3. 为IEnumerable<T>添加RemoveAll<IEnumerable<T>>扩展方法--高性能篇

    最近写代码,遇到一个问题,微软基于List<T>自带的方法是public bool Remove(T item);,可是有时候我们可能会用到诸如RemoveAll<IEnumerab ...

  4. C#的扩展方法解析

    在使用面向对象的语言进行项目开发的过程中,较多的会使用到“继承”的特性,但是并非所有的场景都适合使用“继承”特性,在设计模式的一些基本原则中也有较多的提到. 继承的有关特性的使用所带来的问题:对象的继 ...

  5. 扩展方法(C#)

    扩展方法使你能够向现有类型“添加”方法,而无需创建新的派生类型.重新编译或以其他方式修改原始类型.扩展方法是一种特殊的静态方法,但可以像扩展类型上的实例方法一样进行调用. 下面的示例为String添加 ...

  6. 扩展方法解决LinqToSql Contains超过2100行报错问题

    1.扩展方法 using System; using System.Collections.Generic; using System.Linq; using System.Web; using Sy ...

  7. C#扩展方法

    扩展方法使您能够向现有类型“添加”方法,而无需创建新的派生类型.重新编译或以其他方式修改原始类型. 扩展方法就相当于一个马甲,给一个现有类套上,就可以为这个类添加其他方法了. 马甲必须定义为stati ...

  8. 枚举扩展方法获取枚举Description

    枚举扩展方法 /// <summary> /// 扩展方法,获得枚举的Description /// </summary> /// <param name="v ...

  9. 扩展方法 1 简单的string扩展方法

    这里是关于 String的简单扩展方法 (静态类 静态方法 this 类型 这里是string) static class Program { static void Main(string[] ar ...

随机推荐

  1. Spring MVC 过滤静态资源访问

    过滤的必要性 一般来说,HTTP 请求都会被映射到 DispatcherServlet,进而由具体的类来承接处理,但对于类似 js 或者 css 这样的静态资源则没必要这样,因为对资源的获取只需返回资 ...

  2. Java继承--子类的实例化过程

    一个对象的实例化过程: Person p = new Person(); 1,JVM会读取指定的路径下的Person.class文件,并加载进内存,并会先加载Person的父类(如果有直接的父类的情况 ...

  3. 简单说下C#变量的作用域

    变量的作用域分为局部变量和全局变量举个小例子 class Program { int i = 3;//这个变量i 需要实例化Program才能使用 static void Main(string[] ...

  4. Selenium 设置浏览器下载 Firefox 和Chrome

    当我们在使用Selenium运行自动化测试时,偶尔需要用到下载功能,但浏览器的下载可能会弹出下载窗口,或者下载路径不是我们想要保存的位置,所以在通过Selenium启动浏览器时需要做相关的设置,将使这 ...

  5. flume自定义Source(taildirSource),自定义Sink(数据库),开发完整步骤

    一.flume简单了解推荐网站(简介包括简单案例部署): http://www.aboutyun.com/thread-8917-1-1.html 二.我的需求是实现从ftp目录下采集数据,目录下文件 ...

  6. admin的基础配置

    admin自定义配置 一.admin.py 我们知道在models.py文件中创建的数据表,一方面我们可以通过视图函数对其进行增删改查,一方面我们也可以通过admin进行,通常我们是通过admin的前 ...

  7. 【NOIP2015提高组】 Day1 T3 斗地主

    [题目描述] 牛牛最近迷上了一种叫斗地主的扑克游戏.斗地主是一种使用黑桃.红心.梅花.方片的A到K加上大小王的共54张牌来进行的扑克牌游戏.在斗地主中,牌的大小关系根据牌的数码表示如下:3<4& ...

  8. Maven优雅的添加第三方Jar包

    在利用Maven构建项目的时候会出现某些Jar包无法下载到本地的Repository中,鉴于这种情况比较普遍存在,特归纳以下解决问题办法:以 ojdbc14-10.2.0.4.0.jar为例[其它Ja ...

  9. APUE 4 - 线程<2> : 线程同步

    当控件的多个线程共享统一内存时,我们需要确定各个线程访问到的数据的一致性.在cpu结构中,修改操作由多个内存读写周期(memory cycle),而在这些内存周期之间, 有可能会发生其他线程的内存读操 ...

  10. springCloud四:熔断器ribbon--Hystrix

    注:前文概念部分摘抄自博客园  纯洁的微笑 熔断器 雪崩效应 在微服务架构中通常会有多个服务层调用,基础服务的故障可能会导致级联故障,进而造成整个系统不可用的情况,这种现象被称为服务雪崩效应.服务雪崩 ...