二维数组,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]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值