首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

二维数组,DataTable种的Json字符串反序列化为DataTable

2012-11-07 
二维数组,DataTable类的Json字符串反序列化为DataTable之前使用过将Table类转为Json格式,dotNet中无法顺利

二维数组,DataTable类的Json字符串反序列化为DataTable
之前使用过将Table类转为Json格式,dotNet中无法顺利进行,于是在网上找到了序列化Table的代码,现在我需要将Json数据有写回Table格式,在网上找了源码没有找到,所以就自己写咯,看看注释相信你不难看懂的:

            #region 将Json 字符串格式反序列话为datatable类型            string jsonStr = "{"data":[{"id":"0","name":"name0"},{"id":"1","name":"name1"},{"id":"2","name":"name2"}]}";            JavaScriptSerializer jss = new JavaScriptSerializer();            var obj=jss.DeserializeObject(jsonStr);            Dictionary<string, object> dic = (Dictionary<string, object>)obj;            var data = dic["data"];//得到所有行的信息,数组类型,每一个数组是一个Dictionary类型的键值对,即为列            Array rows =(Array)data;//这里从rows 的每一个元素为一个Dictionary类的对象,相当于datatable中的一行的数据            DataTable dt = new DataTable();            foreach (Dictionary<string, object> cols in rows)            {                //为datatable添加列                 if (dt.Columns.Count == 0)                 {                      foreach (string key in cols.Keys)                      {                          dt.Columns.Add(key);                      }                  }                DataRow dr = dt.NewRow();                //为行中的每一列列赋值                foreach (string keyname in cols.Keys)                {                    dr[keyname] = cols[keyname];                }                dt.Rows.Add(dr);            }            this.dataGridView1.DataSource = dt;            #endregion


看了上面的代码相信如果是而为数组也一定会了吧!

如果转载请说明出处啊[url] http://cheeruplc.iteye.com/blog/1153951[/url]

热点排行