http://www.sufeinet.com/plugin.php?id=keke_group

苏飞论坛

 找回密码
 马上注册

QQ登录

只需一步,快速开始

分布式系统框架(V2.0) 轻松承载百亿数据,千万流量!讨论专区 - 源码下载 - 官方教程

HttpHelper爬虫框架(V2.7-含.netcore) HttpHelper官方出品,爬虫框架讨论区 - 源码下载 - 在线测试和代码生成

HttpHelper爬虫类(V2.0) 开源的爬虫类,支持多种模式和属性 源码 - 代码生成器 - 讨论区 - 教程- 例子

查看: 3068|回复: 2

[C#语言基础] 数据源转换成Json格式

[复制链接]
发表于 2013-8-21 09:02:03 | 显示全部楼层 |阅读模式
本帖最后由 qq576733600 于 2013-8-21 09:03 编辑

[code=csharp]/// <summary>  
    /// dataTable转换成Json格式  
    /// </summary>  
    /// <param name="dt"></param>  
    /// <returns></returns>  
    public static string DataTable2Json(System.Data.DataTable dt)
    {
      StringBuilder jsonBuilder = new StringBuilder();
      jsonBuilder.Append("{\"Name\":\"" + dt.TableName + "\",\"Rows");
      jsonBuilder.Append("\":[");
      for (int i = 0; i < dt.Rows.Count; i++)
      {
        jsonBuilder.Append("{");
        for (int j = 0; j < dt.Columns.Count; j++)
        {
          jsonBuilder.Append("\"");
          jsonBuilder.Append(dt.Columns[j].ColumnName);
          jsonBuilder.Append("\":\"");
          jsonBuilder.Append(dt.Rows[j].ToString().Replace("\"", "\\\"")); //对于特殊字符,还应该进行特别的处理。
          jsonBuilder.Append("\",");
        }
        jsonBuilder.Remove(jsonBuilder.Length - 1, 1);
        jsonBuilder.Append("},");
      }
      jsonBuilder.Remove(jsonBuilder.Length - 1, 1);
      jsonBuilder.Append("]");
      jsonBuilder.Append("}");
      return jsonBuilder.ToString();
    }

    /// <summary>  
    /// dataTableReader转换成Json格式  
    /// </summary>  
    /// <param name="dt"></param>  
    /// <returns></returns>  
    public static string DataTableReaderJson(System.Data.DataTableReader dr)
    {
       StringBuilder jsonBuilder = new StringBuilder();
       jsonBuilder.Append("[");
       while (dr.Read())
       {
         jsonBuilder.Append("{");
         for (int j = 0; j < dr.FieldCount; j++)
         {
           jsonBuilder.Append("\"");
           jsonBuilder.Append(dr.GetName(j).ToString());
           jsonBuilder.Append("\":\"");
           jsonBuilder.Append(dr[j].ToString().Replace("\"", "\\\"")); //对于特殊字符,还应该进行特别的处理。
           jsonBuilder.Append("\",");
         }
         jsonBuilder.Remove(jsonBuilder.Length - 1, 1);
         jsonBuilder.Append("},");
       }
       jsonBuilder.Remove(jsonBuilder.Length - 1, 1);
       jsonBuilder.Append("]");
      return jsonBuilder.ToString();
    }

    /// <summary>  
    /// DataSet转换成Json格式  
    /// </summary>  
    /// <param name="ds">DataSet</param>  
    /// <returns></returns>  
    public static string Dataset2Json(System.Data.DataSet ds)
    {
      StringBuilder json = new StringBuilder();
      json.Append("{\"Tables\":");
      json.Append("[");
      foreach (System.Data.DataTable dt in ds.Tables)
      {
        json.Append(DataTable2Json(dt));
        json.Append(",");
      }
      json.Remove(json.Length - 1, 1);
      json.Append("]");
      json.Append("}");
      return json.ToString();
    }
  }[/code]

JsonHelp.rar (1.19 KB, 下载次数: 160)


1. 开通SVIP会员,免费下载本站所有源码,不限次数据,不限时间
2. 加官方QQ群,加官方微信群获取更多资源和帮助
3. 找站长苏飞做网站、商城、CRM、小程序、App、爬虫相关、项目外包等点这里
发表于 2013-8-21 09:05:34 | 显示全部楼层
如果是4.0就方便 了,可以直接将对象转成Json,非常的标准转的
http://www.sufeinet.com/thread-4702-1-1.html
发表于 2013-8-21 09:10:03 | 显示全部楼层
这个开源的类型也相当强大
Newtonsoft.Json.dll


您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

QQ|手机版|小黑屋|手机版|联系我们|关于我们|广告合作|苏飞论坛 ( 豫ICP备18043678号-2)

GMT+8, 2024-5-17 19:36

© 2014-2021

快速回复 返回顶部 返回列表