码迷,mamicode.com
首页 > Windows程序 > 详细

C# 中 Json 和 DataTable的转换方法

时间:2015-04-28 20:18:57      阅读:222      评论:0      收藏:0      [点我收藏+]

标签:

技术分享
        public static DataTable JsonToDataTable(string json)
        {
            DataTable dt = null;
            dt = new DataTable();//实例化

            JavaScriptSerializer javaScriptSerializer = new JavaScriptSerializer();
            javaScriptSerializer.MaxJsonLength = Int32.MaxValue; //取得最大数值
            ArrayList arrayList = javaScriptSerializer.Deserialize<ArrayList>(json);
            if (arrayList.Count > 0)
            {
                foreach (Dictionary<string, object> dictionary in arrayList)
                {
                    if (dictionary.Keys.Count<string>() == 0)
                    {
                        return dt;
                    }

                    foreach (string current in dictionary.Keys)
                    {
                        dt.Columns.Add(current, dictionary[current].GetType());
                    }

                    DataRow dataRow = dt.NewRow();
                    foreach (string current in dictionary.Keys)
                    {
                        dataRow[current] = dictionary[current];
                    }

                    dt.Rows.Add(dataRow); //循环添加行到DataTable中
                }
            }

            return dt;
        }
Json To DataTable
技术分享
        public static string DataTableToJson(DataTable dt)
        {
            JavaScriptSerializer javaScriptSerializer = new JavaScriptSerializer();
            javaScriptSerializer.MaxJsonLength = Int32.MaxValue; //取得最大数值
            ArrayList arrayList = new ArrayList();
            foreach (DataRow dataRow in dt.Rows)
            {
                Dictionary<string, object> dictionary = new Dictionary<string, object>();  //实例化一个参数集合
                foreach (DataColumn dataColumn in dt.Columns)
                {
                    dictionary.Add(dataColumn.ColumnName, dataRow[dataColumn.ColumnName].ToString());
                }
                arrayList.Add(dictionary); //ArrayList集合中添加键值
            }

            return javaScriptSerializer.Serialize(arrayList);  //返回一个json字符串
        }
DataTable To Json

 

C# 中 Json 和 DataTable的转换方法

标签:

原文地址:http://www.cnblogs.com/nightsnow/p/4463807.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!