Json.Net 学习笔记(二) Linq to Json
2011-11-16 13:28
731 查看
using Newtonsoft.Json.Linq;
定义类:
public class Product
{
public string Name { get; set; }
public DateTime Expiry { get; set; }
public decimal Price { get; set; }
public string[] Sizes { get; set; }
}
测试:
Product product = new Product
{
Name = "Apple",
Expiry = new DateTime(2010, 12, 18),
Price = 3.99M,
Sizes = new string[] { "Small", "Medium", "Large" }
};
string serializedJson = JsonConvert.SerializeObject(product);
JObject o = JObject.Parse(serializedJson);
string name = (string)o["Name"];
//Apple
JArray sizes = (JArray)o["Sizes"];
string smallest = (string)sizes[0];
Response.Write(name + "," + smallest + "<br/>");//输出Small
//SelectToken
smallest = (string)o.SelectToken("Sizes[0]");
Response.Write(smallest + "<br/>");//输出Small
//SelectToken with Linq
var sizeLen5 = o["Sizes"].Select(i => (string)i).Where(i => i.Length == 5).ToList<string>();
foreach (var size in sizeLen5)
{
Response.Write((string)size+ " <br/>");
};//输出Small和Large
注:JArray表示一个Json集合,JObject表示一个Json对象。
定义类:
public class Product
{
public string Name { get; set; }
public DateTime Expiry { get; set; }
public decimal Price { get; set; }
public string[] Sizes { get; set; }
}
测试:
Product product = new Product
{
Name = "Apple",
Expiry = new DateTime(2010, 12, 18),
Price = 3.99M,
Sizes = new string[] { "Small", "Medium", "Large" }
};
string serializedJson = JsonConvert.SerializeObject(product);
JObject o = JObject.Parse(serializedJson);
string name = (string)o["Name"];
//Apple
JArray sizes = (JArray)o["Sizes"];
string smallest = (string)sizes[0];
Response.Write(name + "," + smallest + "<br/>");//输出Small
//SelectToken
smallest = (string)o.SelectToken("Sizes[0]");
Response.Write(smallest + "<br/>");//输出Small
//SelectToken with Linq
var sizeLen5 = o["Sizes"].Select(i => (string)i).Where(i => i.Length == 5).ToList<string>();
foreach (var size in sizeLen5)
{
Response.Write((string)size+ " <br/>");
};//输出Small和Large
注:JArray表示一个Json集合,JObject表示一个Json对象。
相关文章推荐
- 学习 linq to ADO.NET 实例笔记(一)
- ASP.NET 3.5核心编程学习笔记(23):Linq-to-SQL 数据的更新、事务、存储过程、函数
- 学习 linq to ADO.NET 实例笔记(二)--增 / 删 / 改 / 查
- [C#.Net&Linq]LINQ to Object 学习笔记(资料群组GroupBy、ToLookup、ToDictionary)
- asp.net Linq to Xml学习笔记
- C# 2008 学习笔记 - LINQ to ADO.NET(二)- LINQ to DataSet
- 【linq学习笔记】1、linq to xml
- Newtonsoft.Json(Json.Net)学习笔记
- Newtonsoft.Json(Json.Net)学习笔记
- Newtonsoft.Json(Json.Net)学习笔记
- SQLServer学习笔记 --- (20008, 'DB-Lib error message 20008, severity 9:\nUnable to open socket\nNet-Li
- 学习笔记(一)-Linq To Sql&PhotoShop第二章
- Newtonsoft.Json(Json.Net)学习笔记
- ASP.NET 3.5核心编程学习笔记(22):LINQ与SQL的交互、延迟加载与预加载
- Json.net/Newtonsoft 新特性JObject/Linq to Json
- 学习笔记(二)-LINQ to Objects&PS第三章
- Json.Net 学习笔记(一)
- [新手入门]快速学习 ADO.NET Entity Framework系列文章 #3 -- LINQ-to-SQL、EntitySQL、查询产生器方法(Query builder)三种语法
- Sharepoint学习笔记---Linq to Sharepoint--另一种生成Entity classes for sharepoint site的方法