日期:2014-05-16 浏览次数:20386 次
#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