Open-source Tutorial - Json.NET
阿新 • • 發佈:2019-01-21
道格拉斯 ade into 閱讀 using object rip int stream 和強大的性能。具體可以查看官網介紹。
JSON 簡介
JSON(JavaScript Object Notation,JavaScript對象表示法)是一種由道格拉斯·克羅克福特構想和設計、輕量級的數據交換語言,該語言以易於讓人閱讀的文字為基礎,用來傳輸由屬性值或者序列性的值組成的數據對象。
JSON與XML最大的不同在於XML是一個完整的標記語言,而JSON不是。XML利用標記語言的特性提供了絕佳的延展性(如XPath),在數據存儲,擴展及高級檢索方面具備對JSON的優勢,而JSON則由於比XML更加小巧,以及瀏覽器的內建快速解析支持,使得其更適用於網絡數據傳輸領域。
Why JSON.NET?
我們都知道 .NET 自帶用於將對象序列化成 JSON 的類(DataConstractJsonSerializer 和 JavaScriptSerializer),但是 JSON.NET 給我們帶來更多的功能
如何使用?
假如我們有這樣一個對象
public class Movie
{
public string Name { get; set; }
public int Year { get; set; }
}
將對象序列化為 JSON
Movie movie = new Movie
{
Name = "Bad Boys",
Year = 1995
};
string json = JsonConvert.SerializeObject(movie, Formatting.Indented);
將 JSON 反序列化為對象
string json = @"{ ‘Name‘: ‘Bad Boys‘, ‘Year‘: 1995 }"; Movie movie = JsonConvert.DeserializeObject<Movie>(json);
將 JSON 序列化為文件
Movie movie = new Movie { Name = "Bad Boys", Year = 1995 }; // 方法一 // serialize JSON to a string and then write string to a file File.WriteAllText(@"c:\movie.json", JsonConvert.SerializeObject(movie)); // 方法二 // serialize JSON directly to a file using (StreamWriter file = File.CreateText(@"c:\movie.json")) { JsonSerializer serializer = new JsonSerializer(); serializer.Serialize(file, movie); }
從文件中獲取 JSON
// 方法一
// read file into a string and deserialize JSON to a type
Movie movie1 = JsonConvert.DeserializeObject<Movie>(File.ReadAllText(@"c:\movie.json"));
// 方法二
// deserialize JSON directly from a file
using (StreamReader file = File.OpenText(@"c:\movie.json"))
{
JsonSerializer serializer = new JsonSerializer();
Movie movie2 = (Movie)serializer.Deserialize(file, typeof(Movie));
}
Open-source Tutorial - Json.NET