第一種方式利用 JavaScriptSerializer 【對應的Assembly 為 System.Web.Extensions.dll】 進行處理:
public static class KasJsonSerializer { public static string Serialize<T>(T t) { JavaScriptSerializer jsonSerialize = new JavaScriptSerializer(); return jsonSerialize.Serialize(t); } public static T Deserialize<T>(string jsonString) { JavaScriptSerializer jsonSerialize = new JavaScriptSerializer(); return (T)jsonSerialize.Deserialize<T>(jsonString); } }
第二種方式利用Json.Net處理, 用 JsonConvert 【對應的Assem 為 Newtonsoft.Json.dll】 進行處理,並且這是更好的一種方式。
序列化:
Product product = new Product(); product.Name = "Apple"; product.Expiry = new DateTime(2008, 12, 28); product.Sizes = new string[] { "Small" }; string json = JsonConvert.SerializeObject(product); // { // "Name": "Apple", // "Expiry": "2008-12-28T00:00:00", // "Sizes": [ // "Small" // ] // }
反序列化:
string json = @"{ 'Name': 'Bad Boys', 'ReleaseDate': '1995-4-7T00:00:00', 'Genres': [ 'Action', 'Comedy' ] }"; Movie m = JsonConvert.DeserializeObject<Movie>(json); string name = m.Name; // Bad Boys
更多內容請看如下連結: http://www.newtonsoft.com/json