怎样用C#把JSON数据转换为list或数组

lu_wakin 2009-07-03 08:53:22
JSON代码:

[{"cId":2,"cName":"\u767d\u841d\u535c","amount":26,"price":"17"},{"cId":3,"cName":"\u80e1\u841d\u535c","amount":21,"price":"21"},{"cId":4,"cName":"\u7389\u7c73","amount":7,"price":"23"},{"cId":14,"cName":"\u897f\u74dc","amount":7,"price":"29"},{"cId":5,"cName":"\u571f\u8c46","amount":3,"price":"24"},{"cId":1,"cName":"\u8349\u8393","amount":427,"price":"27"},{"cId":10,"cName":"\u5357\u74dc","amount":303,"price":"30"},{"cId":11,"cName":"\u82f9\u679c","amount":1,"price":"24"},{"cId":23,"cName":"\u77f3\u69b4","amount":4,"price":"54"},{"cId":18,"cName":"\u6843\u5b50","amount":3,"price":"40"},{"cId":15,"cName":"\u9999\u8549","amount":9,"price":"32"},{"cId":13,"cName":"\u8461\u8404","amount":7,"price":"47"},{"cId":26,"cName":"\u67da\u5b50","amount":1,"price":"58"},{"cId":27,"cName":"\u83e0\u841d","amount":5,"price":"62"},{"cId":19,"cName":"\u6a59\u5b50","amount":27,"price":"41"}]


我用Newtonsoft.Json.dll,可以成功将该数据解析成List ,但是里面像":"\u767d\u841d\u535c",这种unicode无法转换为中文,请高手指点。
这个是我用Newtonsoft.Json的代码
List<Shangdian> thislist = new List<Shangdian>();
thislist = JavaScriptConvert.DeserializeObject<List<Shangdian>>(wb.Document.Body.InnerHtml);

其实我用的是VS2008,3.5也自带了json的解析类,但网上找到的都是将json解析成一个类,并没有将json数组解析成list<T>,也请高手指点下,怎样用vs2008自带的json,将上面这段json代码转换成list<T>或者对象数组


...全文
20947 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
sailormo 2012-09-29
  • 打赏
  • 举报
回复
正在学习
bobo_huo 2012-08-30
  • 打赏
  • 举报
回复
正在找这个,要学习一下
zhongxiaoxiang 2012-08-24
  • 打赏
  • 举报
回复
要回复才可以看到
zhl71199713 2012-08-22
  • 打赏
  • 举报
回复
感谢2楼的高手
xkyounet 2012-04-30
  • 打赏
  • 举报
回复
感谢2楼的高手
hightsky 2010-06-27
  • 打赏
  • 举报
回复
感谢2楼的高手
xiaoxin4321 2009-10-20
  • 打赏
  • 举报
回复
感谢2楼的高手
随风v5 2009-07-03
  • 打赏
  • 举报
回复
友情顶一下
lovvver 2009-07-03
  • 打赏
  • 举报
回复
你可以使用正则表达式,将你的JSON里的每一项都取出来,解析为一个类的实例,然后手动添加到数组里面。
zgke 2009-07-03
  • 打赏
  • 举报
回复
测试了下 没问题啊 2.txt放的是你贴的数据.

VS2008
引用System.ServiceModel.Web.dll
引用System.Runtime.Serialization.dll



private void Form1_Load(object sender, EventArgs e)
{
string _JsonText = System.IO.File.ReadAllText(@"C:\2.TXT");

List<Test> _Test = new List<Test>();

DataContractJsonSerializer _Json = new DataContractJsonSerializer(_Test.GetType());
byte[] _Using = System.Text.Encoding.UTF8.GetBytes(_JsonText);
System.IO.MemoryStream _MemoryStream = new System.IO.MemoryStream(_Using);
_MemoryStream.Position = 0;

_Test =(List<Test>)_Json.ReadObject(_MemoryStream);

}

public class Test
{
public int cId = 0;
public string cName = "";
public int amount = 0;
public string price = "";
}

110,534

社区成员

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

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

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