JSON

怎样用C#把JSON数据转换为list或数组-.NET技术/C#

字号+ 作者:H5之家 来源:H5之家 2017-05-28 13:07 我要评论( )

《怎样用C#把JSON数据转换为list或数组-.NET技术/C#》和c/c++相关,c/c++是电脑编程中的一个重要分支,电脑编程网为您提供《怎样用C#把JSON数据转换为list或数组

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>或者对象数组

------回答---------


------其他回答(40分)---------


测试了下 没问题啊 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 = "";
  }

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
网友点评