C# DataTable To Json 实现

项目中用到 JqGrid 前端数据控件,数据格式要求 为Json 虽然系统中有做相应实现,但未对DataTable 转 Json 有相应方法,故 在项目中 对 DataTable 写了一个转Json 的扩展方法,请看清楚 是扩展方法, 记得 Static 详细扩展方法的使用请 自行百度。

具体代码如下:

public static string DataTableToJson( this DataTable  dt,string jsonName)
    {
        System.Text.StringBuilder Json = new System.Text.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();
    }
posted @ 2016-06-03 16:39  If_1989  阅读(529)  评论(0编辑  收藏  举报