DataTable转Json以及Json转DataTable

来源:互联网 发布:腾讯软件推广联盟 编辑:程序博客网 时间:2024/05/17 01:03


using System.Web.Script.Serialization;

using System.Data;

using System.Collections;


  /// <summary>        /// DataTable转Json        /// </summary>        /// <param name="dtb"></param>        /// <returns></returns>        public static string Dt2Json(DataTable dtb)        {            JavaScriptSerializer jss = new JavaScriptSerializer();            ArrayList dic = new ArrayList();            foreach (DataRow row in dtb.Rows)            {                Dictionary<string, object> drow = new Dictionary<string, object>();                foreach (DataColumn col in dtb.Columns)                {                    drow.Add(col.ColumnName, row[col.ColumnName]);                }                dic.Add(drow);            }            return jss.Serialize(dic);        }        /// <summary>        /// Json转DataTable        /// </summary>        /// <param name="json"></param>        /// <returns></returns>        public static DataTable Json2Dt(string json)        {            JavaScriptSerializer jss = new JavaScriptSerializer();            ArrayList dic = jss.Deserialize<ArrayList>(json);            DataTable dtb = new DataTable();            if (dic.Count > 0)            {                foreach (Dictionary<string, object> drow in dic)                {                    if (dtb.Columns.Count == 0)                    {                        foreach (string key in drow.Keys)                        {                            dtb.Columns.Add(key, drow[key].GetType());                        }                    }                    DataRow row = dtb.NewRow();                    foreach (string key in drow.Keys)                    {                        row[key] = drow[key];                    }                    dtb.Rows.Add(row);                }            }            return dtb;        }


0 0
原创粉丝点击