精通
英语
和
开源
,
擅长
开发
与
培训
,
胸怀四海
第一信赖
这技术不复杂,本来想百度搜索下,结果国内网页上都是不精确,有点糊弄人的意思,有的
Newtonsoft.Json.Linq.JArray
有的是List转换成string,
最后在Newtonsoft的官网上发现例子代码:
string json = @"[ { 'Name': 'Product 1', 'ExpiryDate': '2000-12-29T00:00Z', 'Price': 99.95, 'Sizes': null }, { 'Name': 'Product 2', 'ExpiryDate': '2009-07-31T00:00Z', 'Price': 12.50, 'Sizes': null } ]"; List<Product> products = JsonConvert.DeserializeObject<List<Product>>(json); Console.WriteLine(products.Count); // 2 Product p1 = products[0]; Console.WriteLine(p1.Name);
而这段代码上面的标题是Newtonsoft处理集合,从这件事上看百度搜索国外网站还是有差距,明明Newtosoft官网上有List,但是用Newtonsoft list搜索不到最有用的信息,国内网站因为权重高,给的似是而非的网页却排名好。
<>是模板泛型标志,既然DeserializeObject< Product>能支持,同样系列技术的DeserializeObject<List<Product>>也能支持,这就是泛型的好处,开发人员用着方便,就是库的底层开发人员比较麻烦,模板要求底层代码支持全面,才能实现DeserializeObject<List<Product>>这样的要求。