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 扩展方法的更多相关文章
-
.NET Core中间件的注册和管道的构建(3) ---- 使用Map/MapWhen扩展方法
.NET Core中间件的注册和管道的构建(3) ---- 使用Map/MapWhen扩展方法 0x00 为什么需要Map(MapWhen)扩展 如果业务逻辑比较简单的话,一条主管道就够了,确实用不到 ...
-
.NET Core中间件的注册和管道的构建(2)---- 用UseMiddleware扩展方法注册中间件类
.NET Core中间件的注册和管道的构建(2)---- 用UseMiddleware扩展方法注册中间件类 0x00 为什么要引入扩展方法 有的中间件功能比较简单,有的则比较复杂,并且依赖其它组件.除 ...
-
为IEnumerable<;T>;添加RemoveAll<;IEnumerable<;T>;>;扩展方法--高性能篇
最近写代码,遇到一个问题,微软基于List<T>自带的方法是public bool Remove(T item);,可是有时候我们可能会用到诸如RemoveAll<IEnumerab ...
-
C#的扩展方法解析
在使用面向对象的语言进行项目开发的过程中,较多的会使用到“继承”的特性,但是并非所有的场景都适合使用“继承”特性,在设计模式的一些基本原则中也有较多的提到. 继承的有关特性的使用所带来的问题:对象的继 ...
-
扩展方法(C#)
扩展方法使你能够向现有类型“添加”方法,而无需创建新的派生类型.重新编译或以其他方式修改原始类型.扩展方法是一种特殊的静态方法,但可以像扩展类型上的实例方法一样进行调用. 下面的示例为String添加 ...
-
扩展方法解决LinqToSql Contains超过2100行报错问题
1.扩展方法 using System; using System.Collections.Generic; using System.Linq; using System.Web; using Sy ...
-
C#扩展方法
扩展方法使您能够向现有类型“添加”方法,而无需创建新的派生类型.重新编译或以其他方式修改原始类型. 扩展方法就相当于一个马甲,给一个现有类套上,就可以为这个类添加其他方法了. 马甲必须定义为stati ...
-
枚举扩展方法获取枚举Description
枚举扩展方法 /// <summary> /// 扩展方法,获得枚举的Description /// </summary> /// <param name="v ...
-
扩展方法 1 简单的string扩展方法
这里是关于 String的简单扩展方法 (静态类 静态方法 this 类型 这里是string) static class Program { static void Main(string[] ar ...
随机推荐
-
初学My Batis之入门
MyBatis(百度百科): 下面我们来做第一个入门案例: 架构: jar包: 我们创建一个学生实体类 package cn.entity; /** * 学生实体类 * @author hyj * * ...
-
C# 标签(条码)的打印与设计(一)
C# 标签(条码)的打印与设计(一) C# 标签(条码)的打印与设计(二) 总结:自定义设计条码器.
-
通过崩溃地址找错误行数之Delphi版
通过崩溃地址找错误行数之Delphi版2009-5-11 17:42:35 来源: 转载 作者:网络 访问:360 次 被顶:2 次 字号:[大 中 小]核心提示:什么是 MAP 文件?简单地讲, M ...
-
Windows下怎么搭建Python+Selenium的自动化环境
http://jingyan.baidu.com/article/47a29f244aec6bc014239985.html 注意点:配置了环境变量后需要重启电脑
-
爬虫基础——HTTP基本原理
## 学习爬虫务必从了解请求网页的工作流程和网页的组成原理开始,不然直接去学爬虫操作像是请求库等等,大概率会知其然而不知其所以然(个人体会) URL和HTTP简介 URL(Uniform Resour ...
-
排序算法之直接插入排序的思想以及Java实现
1,基本思想 假设待排序的数据是数组A[1-.n].初始时,A[1]自成1个有序区,无序区为A[2-.n].在排序的过程中,依次将A[i] (i=2,3,-.,n)从后往前插入到前面已排好序的子数组A ...
-
十三. Python基础(13)--生成器进阶
十三. Python基础(13)--生成器进阶 1 ● send()方法 generator.send(value) Resumes the execution, and "sends&qu ...
-
Unity游戏设计与实现 南梦宫一线程序员的开发实例
图灵程序设计丛书 Unity游戏设计与实现:南梦宫一线程序员的开发实例(修订版) 加藤政树 (作者) 罗水东 (译者) c# 游戏 unity <内容提要>本书的作者是日本知 ...
-
【Python学习 】Python实现的FTP上传和下载功能
一.背景 最近公司的一些自动化操作需要使用Python来实现FTP的上传和下载功能.因此参考网上的例子,撸了一段代码来实现了该功能,下面做个记录. 二.ftplib介绍 Python中默认安装的ftp ...
-
mysql链接出现10060
http://www.cnblogs.com/meetrice/p/5309666.html 使用navicate链接 http://www.cnblogs.com/cxint/p/7454054.h ...