重新发贴 , 求.NET2.0下可用的Json反序列化方式

myChat11 2010-09-17 11:44:59
json怎么反序列化为一个DataTable呢? 是VS2005,2.0框架, 求可用方法,谢谢.
...全文
252 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
孟子E章 2010-09-17
  • 打赏
  • 举报
回复
你可以搜索下开源的json框架
这里列出了几个C#实现的
http://www.json.org/
flyerwing 2010-09-17
  • 打赏
  • 举报
回复
还真没这么搞过了.
a82344626 2010-09-17
  • 打赏
  • 举报
回复
JsonViewer
直接用他的DLL就行了!
自己返下也可以看到源代码
myChat11 2010-09-17
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 wuyq11 的回复:]
JavaScriptSerializer类
private DataTable Json2Dtb(string json)
{
JavaScriptSerializer jss = new JavaScriptSerializer();
ArrayList dic = jss.Deserialize<ArrayList>(json);
DataTable dtb = ne……
[/Quote]

2.0 里面没有 JavaScriptSerializer. 谢谢
cjh200102 2010-09-17
  • 打赏
  • 举报
回复
路过。。。
zhangaijiang 2010-09-17
  • 打赏
  • 举报
回复
json怎么反序列化

自己现在在学习
xhueducls 2010-09-17
  • 打赏
  • 举报
回复
runtime 自带了jason序列化类啊 啊啊啊
danyaozhuanjia 2010-09-17
  • 打赏
  • 举报
回复
public static string DataChangeJsonFromt(DataTable dt, string TableName, string[] LieName, int rowCount)
{
string json = "{ \"" + TableName + "\":[";

string temp = "";

for (int j = 0; j < dt.Rows.Count; j++)
{

temp = temp + "{";

for (int i = 0; i < LieName.Length; i++)
{

temp += "\"" + LieName[i] + "\":\"" + dt.Rows[j][LieName[i]] + "\"";

if (i != LieName.Length - 1)
{
temp = temp + ",";
}

}
temp = temp + "}";
if (j != dt.Rows.Count - 1)
{
temp = temp + ",";
}
}

json = json + temp + "],'totalCount':" + rowCount.ToString() + "}";

return json;
}
wwfgu00ing 2010-09-17
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 wuyq11 的回复:]
JavaScriptSerializer类
private DataTable Json2Dtb(string json)
{
JavaScriptSerializer jss = new JavaScriptSerializer();
ArrayList dic = jss.Deserialize<ArrayList>(json);
DataTable dtb = ne……
[/Quote]

正解
wuyq11 2010-09-17
  • 打赏
  • 举报
回复
JavaScriptSerializer类
private DataTable Json2Dtb(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;
}



InvokerKar 2010-09-17
  • 打赏
  • 举报
回复
Newtonsoft.Json 。开源的。
myChat11 2010-09-17
  • 打赏
  • 举报
回复
不知道Jayrock 0.9 能否在VS2005中使用.
porschev 2010-09-17
  • 打赏
  • 举报
回复
没搞过。。。
hyblusea 2010-09-17
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 net_lover 的回复:]
你可以搜索下开源的json框架
这里列出了几个C#实现的
http://www.json.org/
[/Quote]

没找到在VS2005下可以使用的,有可能是我英语太差.

111,129

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧