Json.NET是由Newtonsoft出品的一个.NET操作json的框架,官方网站:http://www.newtonsoft.com/json
此框架使用十分简便。
要使用此框架
首先从官网上获取dll,或者直接在Visual Studio里用NuGet控制台命令安装:
Install-Package Newtonsoft.Json
安装完成后,引用命名空间:
using Newtonsoft.Json;
将对象序列化成Json字符串:
DEMO:
Product product = new Product();
product.Name = "Apple";
product.Expiry = new DateTime(2008, 12, 28);
product.Sizes = new string[] { "Small" };
string json = JsonConvert.SerializeObject(product);
这个例子中,传入的对象为Product,生成的json值为:
{
"Name": "Apple",
"Expiry": "2008-12-28T00:00:00",
"Sizes": [
"Small"
]
}
将Json反序列化为对象:
DEMO:
string json = @"{
'Name': 'Bad Boys',
'ReleaseDate': '1995-4-7T00:00:00',
'Genres': [
'Action',
'Comedy'
]
}";
Movie m = JsonConvert.DeserializeObject<Movie>(json);
这个例子中将json生成了一个Movie对象,接下来可以方便的使用Movie对象了
LINQ To json
这个框架还可以使用LINQ操作Json呦,DEMO如下:
JArray array = new JArray();
array.Add("Manual text");
array.Add(new DateTime(2000, 5, 23));
JObject o = new JObject();
o["MyArray"] = array;
string json = o.ToString();
代码中生成的json的值为:
{
"MyArray": [
"Manual text",
"2000-05-23T00:00:00"
]
}