将DataTable格式化为json字符串返回

一般用于ajax局部刷新的使用比较多,通过查询得到了DataTable数据,要想将数据放回需要将DataTable转换为json格式,以下为转换的调用函数:

string json = "";

BLL.article_category bll = new BLL.article_category();
DataTable ds = bll.GetLists3(0, channel_id);

得到了DataTable需要调用DataTableToJson转换:

 /// <summary>  
        /// DataTable to json  
        /// </summary>  
        /// <param name="jsonName">返回json的名称</param>  
        /// <param name="dt">转换成json的表</param>  
        /// <returns></returns>  
        public string DataTableToJson(string jsonName, System.Data.DataTable dt)
        {
            StringBuilder Json = new StringBuilder();
            Json.Append("{\"" + jsonName + "\":[");
            if (dt.Rows.Count > 0)
            {
                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("]}");
            return Json.ToString();
        }

调用以上方法后得到的就是json字符串。

注:DataTableToJson()可直接复制调用。

你可能感兴趣的:(Datatable)