/// <summary>         /// DataTable转成Json

/// </summary>         /// <param name="jsonName"></param>

/// <param name="dt"></param>         /// <returns></returns>

public static string DataTableToJson(string jsonName, DataTable dt)

{             StringBuilder Json = new StringBuilder();

Json.Append("{\"" + jsonName + "\":");

if (dt.Rows.Count > 0)

{

Json.Append("[");

for (int i = 0; i < dt.Rows.Count; i++)

{

Json.Append("{");

for (int j = 0; j < dt.Columns.Count; j++)

{

Json.Append("\"" + dt.Columns[j].ColumnName.ToString() + "\":\"" + dt.Rows[i][j].ToString() + "\"");

if (j < dt.Columns.Count - 1)

{

Json.Append(",");

}

}

Json.Append("}");

if (i < dt.Rows.Count - 1)

{

Json.Append(",");

}

}

Json.Append("]}");

}

else

{

Json.Append("\"null\"");

}

Json.Append("}");

return Json.ToString();

}

/// <summary>

/// DataTable转成Json

/// </summary>

/// <param name="jsonName"></param>

/// <param name="dt"></param>

/// <returns></returns>

public static string DataTableToJson(string jsonName, string GroupName, string strDataName, DataTable dt)

{

StringBuilder Json = new StringBuilder();

Json.Append("{\"" + jsonName + "\":[");

if (dt.Rows.Count > 0)

{

DataTable dtGroupNames = dt.DefaultView.ToTable(true, GroupName);

for (int m = 0; m < dtGroupNames.Rows.Count; m++)

{

//分组                     string strCurrentGroupValue = (dtGroupNames.Rows[m][GroupName] ?? "").ToString();

Json.Append("{\"" + GroupName + "\":\"" + strCurrentGroupValue + "\",\"" + strDataName + "\":[");

DataRow[] drs = dt.Select(GroupName + "='" + strCurrentGroupValue + "'");

for (int i = 0; i < drs.Length; i++)

{

Json.Append("{");

for (int j = 0; j < dt.Columns.Count; j++)

{

if (GroupName != dt.Columns[j].ColumnName.ToString() && (drs[i][GroupName] ?? "").ToString() == strCurrentGroupValue)                             {

//不构造已存在的分组信息

Json.Append("\"" + dt.Columns[j].ColumnName.ToString() + "\":\"" + drs[i][j].ToString() + "\"");

if (j < dt.Columns.Count - 1)

{

Json.Append(",");

}

}

}

Json.Append("}");

if (i < drs.Length - 1)

{

Json.Append(",");

}

}

Json.Append("]}");

if (m < dtGroupNames.Rows.Count - 1)

{

Json.Append(",");

}

}

}

Json.Append("]}");

return Json.ToString();

}

DataTable转成Json的更多相关文章

  1. DataTable 转换成 Json的3种方法

    在web开发中,我们可能会有这样的需求,为了便于前台的JS的处理,我们需要将查询出的数据源格式比如:List<T>.DataTable转换为Json格式.特别在使用Extjs框架的时候,A ...

  2. asp.net dataTable转换成Json格式

    /// <summary> /// dataTable转换成Json格式 /// </summary> /// <param name="dt"> ...

  3. 将DataSet(DataTable)转换成JSON格式(生成JS文件存储)

    public static string CreateJsonParameters(DataTable dt) { /**/ /**/ /**/ /* /*********************** ...

  4. ASP.NET 将DataTable解析成JSON简介

    这里解析json使用的是Newtonsoft.Json.dll程序集.下面请看code: using System; using System.Collections.Generic; using S ...

  5. Datatable转成Json方式两则

    1, Asp.net C# 使用Newtonsoft.Json 实现DataTable转Json格式数据 1.这里下载:http://www.newtonsoft.com/products/json/ ...

  6. C# DataTable 转换成JSON数据

    原文:C# DataTable 转换成JSON数据 using System; using System.Collections.Generic; using System.Data; using S ...

  7. dataTable转换成Json格式

    #region dataTable转换成Json格式 /// <summary> /// /// </summary> /// <param name="dt& ...

  8. 将DataTable转换成Json格式

    方法一: 将DataTable数据拼接成json字符串,方法如下: ///<summary> /// dataTable转换成Json格式 ///</summary> ///& ...

  9. DataTable转换成json字符串

    将DataTable里面的行转换成json字符串方法: #region DataTable转为json /// <summary> /// DataTable转为json /// < ...

随机推荐

  1. dos2unix和unix2dos命令使用【转】

    dos2unix, unix2dos 用来实现 DOS <=> UNIX text file 转换 aptitude install sysutils 行末: DOS 格式 0d 0a U ...

  2. SQL的四种语言:DDL、DML、DCL、TCL

    1. DDL(Data Definition Language) 数据库定义语言statements are used to define the database structure or sche ...

  3. lvs中dr模式配置脚本

    1 dr模式介绍 1.1 lvs的安装 安装具体解释:http://blog.csdn.net/CleverCode/article/details/50586957. 1.2 lvs模式 lvs有三 ...

  4. iOS:界面上下空出黑条

    启动图没有加入完整造成

  5. HDU1232 畅通project 并查集

    这道题跟HDU 1213 How Many Tables 并查集很接近,都是赤裸裸的并查集的题. 思路:如果还须要建n-1条路.每并一次就自减1. 參考代码: #include<stdio.h& ...

  6. 纳德拉再造微软:市值如何重回第一阵营(思维确实变了,不再是以windows为中心,拥抱其它各种平台,敢在主战场之外找到适合自己的新战场)

    有人说,现在的美国硅谷充满了“咖喱味”.也有人说,硅谷已经变成“印度谷”.原因就在于,以微软CEO萨提亚·纳德拉.谷歌CEO桑达尔·皮查伊为代表的印度人,近年以来掌控了全世界最令人望而生畏的科技巨头. ...

  7. MinGW - 安装和配置 / MinGW - Howto Install And Configure

    MinGW在线安装程序下载地址:http://sourceforge.net/projects/mingw/files/Automated%20MinGW%20Installer/mingw-get- ...

  8. nfs共享文件服务搭建

    网络文件共享服务器192.10.19.132yum install -y nfs-utils 在exports文件中添加的从机范围vim /etc/exports/home/nfs/ 192.10.1 ...

  9. A string is a sequence

    A string is a sequence of characters. You can access the characters one at a time with the bracket o ...

  10. <Sicily>数字反转

    一.题目描述 给定一个整数,请将该数各个位上数字反转得到一个新数.新数也应满足整数的常见形式,即除非给定的原数为零,否则反转后得到的新数的最高位数字不应为零(参见样例2). 二.输入 输入共 1 行, ...