• DataTable转Json方法


    public static string CreateJsonParameters(DataTable dt)
            {
                /**//**/
                /**//* /****************************************************************************
              * Without goingin to the depth of the functioning of this Method, i will try to give an overview
              * As soon as this method gets a DataTable it starts to convert it into JSON String,
              * it takes each row and in each row it grabs the cell name and its data.
              * This kind of JSON is very usefull when developer have to have Column name of the .
              * Values Can be Access on clien in this way. OBJ.HEAD[0].<ColumnName>
              * NOTE: One negative point. by this method user will not be able to call any cell by its index.
             * ************************************************************************
    */
                StringBuilder JsonString = new StringBuilder();
                //Exception Handling        
                if (dt != null && dt.Rows.Count > 0)
                {
                    JsonString.Append("");
                    JsonString.Append("\"T_blog\":[ ");
                    for (int i = 0; i < dt.Rows.Count; i++)
                    {
                        JsonString.Append("");
                        for (int j = 0; j < dt.Columns.Count; j++)
                        {
                            if (j < dt.Columns.Count - 1)
                            {
                                JsonString.Append("\"" + dt.Columns[j].ColumnName.ToString() + "\":" + "\"" + dt.Rows[i][j].ToString() + "\",");
                            }
                            else if (j == dt.Columns.Count - 1)
                            {
                                JsonString.Append("\"" + dt.Columns[j].ColumnName.ToString() + "\":" + "\"" + dt.Rows[i][j].ToString() + "\"");
                            }
                        }
                        /**//**/
                        /**//*end Of String*/
                        if (i == dt.Rows.Count - 1)
                        {
                            JsonString.Append("");
                        }
                        else
                        {
                            JsonString.Append("}, ");
                        }
                    }
                    JsonString.Append("]}");
                    return JsonString.ToString();
                }
                else
                {
                    return null;
                }
            }
    {"T_blog":
      [
       {"id":"14","title":"北京奥运开幕式","addtime":"2008-08-08"},
       {"id":"15","title":"网络文化","addtime":"2008-09-12"},
       {"id":"17","title":"北京下雨了","addtime":"2008-09-19"},
       {"id":"21","title":"深圳地铁通了","addtime":"2008-09-25"}
      ]
    }
      /// <summary>
        
    /// 将一个数据表转换成一个JSON字符串,在客户端可以直接转换成二维数组。
        
    /// </summary>
        
    /// <param name="source">需要转换的表。</param>
        
    /// <returns></returns>
        public static string DataTableToJson(DataTable source)
        {
            if (source.Rows.Count == 0)
                return "";
            StringBuilder sb = new StringBuilder("[");
            foreach (DataRow row in source.Rows)
            {
                sb.Append("[");
                for (int i = 0; i < source.Columns.Count; i++)
                {
                    sb.Append('"' + row[i].ToString() + "\",");
                }
                sb.Remove(sb.Length - 11);
                sb.Append("],");
            }
            sb.Remove(sb.Length - 11);
            sb.Append("]");
            return sb.ToString();
        }


        /// <summary>
        
    /// 反回JSON数据到前台
        
    /// </summary>
        
    /// <param name="dt">数据表</param>
        
    /// <returns>JSON字符串</returns>
        public string CreateJsonParameters(DataTable dt)
        {
            StringBuilder JsonString = new StringBuilder();
            //Exception Handling        
            if (dt != null && dt.Rows.Count > 0)
            {
                JsonString.Append("");
                JsonString.Append("\"TableInfo\":[ ");
                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    JsonString.Append("");
                    for (int j = 0; j < dt.Columns.Count; j++)
                    {
                        if (j < dt.Columns.Count - 1)
                        {
                            JsonString.Append("\"" + dt.Columns[j].ColumnName.ToString() + "\":" + "\"" + dt.Rows[i][j].ToString() + "\",");
                        }
                        else if (j == dt.Columns.Count - 1)
                        {
                            JsonString.Append("\"" + dt.Columns[j].ColumnName.ToString() + "\":" + "\"" + dt.Rows[i][j].ToString() + "\"");
                        }
                    }
                    /**/
                    /*end Of String*/
                    if (i == dt.Rows.Count - 1)
                    {
                        JsonString.Append("");
                    }
                    else
                    {
                        JsonString.Append("}, ");
                    }
                }
                JsonString.Append("]}");
                return JsonString.ToString();
            }
            else
            {
                return null;
            }
        }
  • 相关阅读:
    Sass安装与Webstorm File Watcher配置
    AngularJS ng-disabled在a内无效
    AngularJS 指令(Directivce )一
    Bus Hound 检测USB数据收发的教程
    STM32Cumebx HAL库实现STM32 USB虚拟串口的收发
    Docker学习笔记六:Docker搭建企业级私有仓库
    Docker学习笔记五:Docker生成jenkins容器,支持Java Web项目持续集成、持续部署
    Linux学习笔记一:Linux配置java环境变量
    Docker学习笔记四:Docker镜像、容器管理工具shipyard
    Redis学习笔记一:Redis安装
  • 原文地址:https://www.cnblogs.com/puke/p/2623151.html
Copyright © 2020-2023  润新知