zoukankan      html  css  js  c++  java
  • DataTable转成Json

     /// <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();

            }

  • 相关阅读:
    kubernetes(七)二进制安装-worker节点安装
    kubernetes(六)二进制安装-master节点安装
    B树
    Nginx反向代理无法达到效果原因
    AVL树
    平衡二叉搜索树
    二叉搜索树
    二叉树
    js-day06-jQuery事件和DOM操作-练习题
    js-day05-JSON-jQuery初体验
  • 原文地址:https://www.cnblogs.com/jameslif/p/3242724.html
Copyright © 2011-2022 走看看