https://www.jmqz1000.com

Json.net 常用使用小结(推荐)

html' target='_blank'>public class PersonConverter : Newtonsoft.Json.Converters.CustomCreationConverter IPerson //重写abstract class CustomCreationConverter T 的Create方法 public override IPerson Create(Type objectType) return new Employee(); public partial class testjson : System.Web.UI.Page protected void Page_Load(object sender, EventArgs e) //if (!IsPostBack) // TestJson(); #region 序列化 public string TestJsonSerialize() Product product = new Product(); product.Name = "Apple"; product.Expiry = DateTime.Now.AddDays(3).ToString("yyyy-MM-dd hh:mm:ss"); product.Price = 3.99M; //product.Sizes = new string[] { "Small", "Medium", "Large" }; //string json = Newtonsoft.Json.JsonConvert.SerializeObject(product); //没有缩进输出 string json = Newtonsoft.Json.JsonConvert.SerializeObject(product, Newtonsoft.Json.Formatting.Indented); //string json = Newtonsoft.Json.JsonConvert.SerializeObject( // product, // Newtonsoft.Json.Formatting.Indented, // new Newtonsoft.Json.JsonSerializerSettings { NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore } //); return string.Format(" p {0} /p ", json); public string TestListJsonSerialize() Product product = new Product(); product.Name = "Apple"; product.Expiry = DateTime.Now.AddDays(3).ToString("yyyy-MM-dd hh:mm:ss"); product.Price = 3.99M; product.Sizes = new string[] { "Small", "Medium", "Large" }; List Product plist = new List Product plist.Add(product); plist.Add(product); string json = Newtonsoft.Json.JsonConvert.SerializeObject(plist, Newtonsoft.Json.Formatting.Indented); return string.Format(" p {0} /p ", json); #endregion #region 反序列化 public string TestJsonDeserialize() string strjson = "{\"Name\":\"Apple\",\"Expiry\":\"2014-05-03 10:20:59\",\"Price\":3.99,\"Sizes\":[\"Small\",\"Medium\",\"Large\"]}"; Product p = Newtonsoft.Json.JsonConvert.DeserializeObject Product (strjson); string template = @" p ul li {0} /li li {1} /li li {2} /li li {3} /li /ul /p return string.Format(template, p.Name, p.Expiry, p.Price.ToString(), string.Join(",", p.Sizes)); public string TestListJsonDeserialize() string strjson = "{\"Name\":\"Apple\",\"Expiry\":\"2014-05-03 10:20:59\",\"Price\":3.99,\"Sizes\":[\"Small\",\"Medium\",\"Large\"]}"; List Product plist = Newtonsoft.Json.JsonConvert.DeserializeObject List Product (string.Format("[{0},{1}]", strjson, strjson)); string template = @" p ul li {0} /li li {1} /li li {2} /li li {3} /li /ul /p System.Text.StringBuilder strb = new System.Text.StringBuilder(); plist.ForEach(x = strb.AppendLine( string.Format(template, x.Name, x.Expiry, x.Price.ToString(), string.Join(",", x.Sizes)) return strb.ToString(); #endregion #region 自定义反序列化 public string TestListCustomDeserialize() string strJson = "[ { \"FirstName\": \"Maurice\", \"LastName\": \"Moss\", \"BirthDate\": \"1981-03-08T00:00Z\", \"Department\": \"IT\", \"JobTitle\": \"Support\" }, { \"FirstName\": \"Jen\", \"LastName\": \"Barber\", \"BirthDate\": \"1985-12-10T00:00Z\", \"Department\": \"IT\", \"JobTitle\": \"Manager\" } ] "; List IPerson people = Newtonsoft.Json.JsonConvert.DeserializeObject List IPerson (strJson, new PersonConverter()); IPerson person = people[0]; string template = @" p ul li 当前List IPerson [x]对象类型:{0} /li li FirstName:{1} /li li LastName:{2} /li li BirthDate:{3} /li li Department:{4} /li li JobTitle:{5} /li /ul /p System.Text.StringBuilder strb = new System.Text.StringBuilder(); people.ForEach(x = strb.AppendLine( string.Format( template, person.GetType().ToString(), x.FirstName, x.LastName, x.BirthDate.ToString(), ((Employee)x).Department, ((Employee)x).JobTitle return strb.ToString(); #endregion #region 反序列化成Dictionary public string TestDeserialize2Dic() //string json = @"{""key1"":""zhangsan"",""key2"":""lisi""}"; //string json = "{\"key1\":\"zhangsan\",\"key2\":\"lisi\"}"; string json = "{key1:\"zhangsan\",key2:\"lisi\"}"; Dictionary string, string dic = Newtonsoft.Json.JsonConvert.DeserializeObject Dictionary string, string (json); string template = @" li key:{0},value:{1} /li System.Text.StringBuilder strb = new System.Text.StringBuilder(); strb.Append("Dictionary string, string 长度" + dic.Count.ToString() + " ul dic.AsQueryable().ToList().ForEach(x = strb.AppendLine(string.Format(template, x.Key, x.Value)); strb.Append(" /ul return strb.ToString(); #endregion #region NullValueHandling特性 public class Movie public string Name { get; set; } public string Description { get; set; } public string Classification { get; set; } public string Studio { get; set; } public DateTime ReleaseDate { get; set; } public List string ReleaseCountries { get; set; } /// summary /// 完整序列化输出 /// /summary public string CommonSerialize() Movie movie = new Movie(); movie.Name = "Bad Boys III"; movie.Description = "It's no Bad Boys"; string included = Newtonsoft.Json.JsonConvert.SerializeObject( movie, Newtonsoft.Json.Formatting.Indented, //缩进 new Newtonsoft.Json.JsonSerializerSettings { } return included; /// summary /// 忽略空(Null)对象输出 /// /summary /// returns /returns public string IgnoredSerialize() Movie movie = new Movie(); movie.Name = "Bad Boys III"; movie.Description = "It's no Bad Boys"; string included = Newtonsoft.Json.JsonConvert.SerializeObject( movie, Newtonsoft.Json.Formatting.Indented, //缩进 new Newtonsoft.Json.JsonSerializerSettings { NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore } return included; #endregion public class Product public string Name { get; set; } public string Expiry { get; set; } public Decimal Price { get; set; } public string[] Sizes { get; set; } #region DefaultValueHandling默认值 public class Invoice public string Company { get; set; } public decimal Amount { get; set; } // false is default value of bool public bool Paid { get; set; } // null is default value of nullable public DateTime PaidDate { get; set; } // customize default values [System.ComponentModel.DefaultValue(30)] public int FollowUpDays { get; set; } [System.ComponentModel.DefaultValue("")] public string FollowUpEmailAddress { get; set; } public void GG() Invoice invoice = new Invoice Company = "Acme Ltd.", Amount = 50.0m, Paid = false, FollowUpDays = 30, FollowUpEmailAddress = string.Empty, PaidDate = null string included = Newtonsoft.Json.JsonConvert.SerializeObject( invoice, Newtonsoft.Json.Formatting.Indented, new Newtonsoft.Json.JsonSerializerSettings { } // { // "Company": "Acme Ltd.", // "Amount": 50.0, // "Paid": false, // "PaidDate": null, // "FollowUpDays": 30, // "FollowUpEmailAddress": "" // } string ignored = Newtonsoft.Json.JsonConvert.SerializeObject( invoice, Newtonsoft.Json.Formatting.Indented, new Newtonsoft.Json.JsonSerializerSettings { DefaultValueHandling = Newtonsoft.Json.DefaultValueHandling.Ignore } // { // "Company": "Acme Ltd.", // "Amount": 50.0 // } #endregion #region JsonIgnoreAttribute and DataMemberAttribute 特性 public string OutIncluded() Car car = new Car Model = "zhangsan", Year = DateTime.Now, Features = new List string { "aaaa", "bbbb", "cccc" }, LastModified = DateTime.Now.AddDays(5) return Newtonsoft.Json.JsonConvert.SerializeObject(car, Newtonsoft.Json.Formatting.Indented); public string OutIncluded2() Computer com = new Computer Name = "zhangsan", SalePrice = 3999m, Manufacture = "red", StockCount = 5, WholeSalePrice = 34m, NextShipmentDate = DateTime.Now.AddDays(5) return Newtonsoft.Json.JsonConvert.SerializeObject(com, Newtonsoft.Json.Formatting.Indented); public class Car // included in JSON public string Model { get; set; } public DateTime Year { get; set; } public List string Features { get; set; } // ignored [Newtonsoft.Json.JsonIgnore] public DateTime LastModified { get; set; } //在nt3.5中需要添加System.Runtime.Serialization.dll引用 [System.Runtime.Serialization.DataContract] public class Computer // included in JSON [System.Runtime.Serialization.DataMember] public string Name { get; set; } [System.Runtime.Serialization.DataMember] public decimal SalePrice { get; set; } // ignored public string Manufacture { get; set; } public int StockCount { get; set; } public decimal WholeSalePrice { get; set; } public DateTime NextShipmentDate { get; set; } #endregion #region IContractResolver特性 public class Book public string BookName { get; set; } public decimal BookPrice { get; set; } public string AuthorName { get; set; } public int AuthorAge { get; set; } public string AuthorCountry { get; set; } public void KK() Book book = new Book BookName = "The Gathering Storm", BookPrice = 16.19m, AuthorName = "Brandon Sanderson", AuthorAge = 34, AuthorCountry = "United States of America" string startingWithA = Newtonsoft.Json.JsonConvert.SerializeObject( book, Newtonsoft.Json.Formatting.Indented, new Newtonsoft.Json.JsonSerializerSettings { ContractResolver = new DynamicContractResolver('A') } // { // "AuthorName": "Brandon Sanderson", // "AuthorAge": 34, // "AuthorCountry": "United States of America" // } string startingWithB = Newtonsoft.Json.JsonConvert.SerializeObject( book, Newtonsoft.Json.Formatting.Indented, new Newtonsoft.Json.JsonSerializerSettings { ContractResolver = new DynamicContractResolver('B') } // { // "BookName": "The Gathering Storm", // "BookPrice": 16.19 // } public class DynamicContractResolver : Newtonsoft.Json.Serialization.DefaultContractResolver private readonly char _startingWithChar; public DynamicContractResolver(char startingWithChar) _startingWithChar = startingWithChar; protected override IList Newtonsoft.Json.Serialization.JsonProperty CreateProperties(Type type, Newtonsoft.Json.MemberSerialization memberSerialization) IList Newtonsoft.Json.Serialization.JsonProperty properties = base.CreateProperties(type, memberSerialization); // only serializer properties that start with the specified character properties = properties.Where(p = p.PropertyName.StartsWith(_startingWithChar.ToString())).ToList(); return properties; #endregion //... #region Serializing Partial JSON Fragment Example public class SearchResult public string Title { get; set; } public string Content { get; set; } public string Url { get; set; } public string SerializingJsonFragment() #region string googleSearchText = @"{ 'responseData': { 'results': [{ 'GsearchResultClass': 'GwebSearch', 'unescapedUrl': 'http://en.wikipedia.org/wiki/Paris_Hilton', 'url': 'http://en.wikipedia.org/wiki/Paris_Hilton', 'visibleUrl': 'en.wikipedia.org', 'cacheUrl': 'http://www.google.com/search q=cache:TwrPfhd22hYJ:en.wikipedia.org', 'title': ' b Paris Hilton /b - Wikipedia, the free encyclopedia', 'titleNoFormatting': 'Paris Hilton - Wikipedia, the free encyclopedia', 'content': '[1] In 2006, she released her debut album...' 'GsearchResultClass': 'GwebSearch', 'unescapedUrl': 'http://www.imdb.com/name/nm0385296/', 'url': 'http://www.imdb.com/name/nm0385296/', 'visibleUrl': 'www.imdb.com', 'cacheUrl': 'http://www.google.com/search q=cache:1i34KkqnsooJ:www.imdb.com', 'title': ' b Paris Hilton /b ', 'titleNoFormatting': 'Paris Hilton', 'content': 'Self: Zoolander. Socialite b Paris Hilton /b ...' 'cursor': { 'pages': [{ 'start': '0', 'label': 1 'start': '4', 'label': 2 'start': '8', 'label': 3 'start': '12', 'label': 4 'estimatedResultCount': '59600000', 'currentPageIndex': 0, 'moreResultsUrl': 'http://www.google.com/search oe=utf8&ie=utf8...' 'responseDetails': null, 'responseStatus': 200 #endregion Newtonsoft.Json.Linq.JObject googleSearch = Newtonsoft.Json.Linq.JObject.Parse(googleSearchText); // get JSON result objects into a list List Newtonsoft.Json.Linq.JToken listJToken = googleSearch["responseData"]["results"].Children().ToList(); System.Text.StringBuilder strb = new System.Text.StringBuilder(); string template = @" ul li Title:{0} /li li Content: {1} /li li Url:{2} /li /ul listJToken.ForEach(x = // serialize JSON results into .NET objects SearchResult searchResult = Newtonsoft.Json.JsonConvert.DeserializeObject SearchResult (x.ToString()); strb.AppendLine(string.Format(template, searchResult.Title, searchResult.Content, searchResult.Url)); return strb.ToString(); #endregion #region ShouldSerialize public class CC public string Name { get; set; } public CC Manager { get; set; } //http://msdn.microsoft.com/en-us/library/53b8022e.aspx public bool ShouldSerializeManager() // don't serialize the Manager property if an employee is their own manager return (Manager != this); public string ShouldSerializeTest() //create Employee mike CC mike = new CC(); mike.Name = "Mike Manager"; //create Employee joe CC joe = new CC(); joe.Name = "Joe Employee"; joe.Manager = mike; //set joe'Manager = mike // mike is his own manager // ShouldSerialize will skip this property mike.Manager = mike; return Newtonsoft.Json.JsonConvert.SerializeObject(new[] { joe, mike }, Newtonsoft.Json.Formatting.Indented); #endregion //驼峰结构输出(小写打头,后面单词大写) public string JJJ() Product product = new Product Name = "Widget", Expiry = DateTime.Now.ToString(), Price = 9.99m, Sizes = new[] { "Small", "Medium", "Large" } string json = Newtonsoft.Json.JsonConvert.SerializeObject( product, Newtonsoft.Json.Formatting.Indented, new Newtonsoft.Json.JsonSerializerSettings { ContractResolver = new Newtonsoft.Json.Serialization.CamelCasePropertyNamesContractResolver() } return json; // "name": "Widget", // "expiryDate": "2010-12-20T18:01Z", // "price": 9.99, // "sizes": [ // "Small", // "Medium", // "Large" // ] #region ITraceWriter public class Staff public string Name { get; set; } public List string Roles { get; set; } public DateTime StartDate { get; set; } public void KKKK() Staff staff = new Staff(); staff.Name = "Arnie Admin"; staff.Roles = new List string { "Administrator" }; staff.StartDate = new DateTime(2000, 12, 12, 12, 12, 12, DateTimeKind.Utc); Newtonsoft.Json.Serialization.ITraceWriter traceWriter = new Newtonsoft.Json.Serialization.MemoryTraceWriter(); Newtonsoft.Json.JsonConvert.SerializeObject( staff, new Newtonsoft.Json.JsonSerializerSettings TraceWriter = traceWriter, Converters = { new Newtonsoft.Json.Converters.JavaScriptDateTimeConverter() } Console.WriteLine(traceWriter); // 2012-11-11T12:08:42.761 Info Started serializing Newtonsoft.Json.Tests.Serialization.Staff. Path ''. // 2012-11-11T12:08:42.785 Info Started serializing System.DateTime with converter Newtonsoft.Json.Converters.JavaScriptDateTimeConverter. Path 'StartDate'. // 2012-11-11T12:08:42.791 Info Finished serializing System.DateTime with converter Newtonsoft.Json.Converters.JavaScriptDateTimeConverter. Path 'StartDate'. // 2012-11-11T12:08:42.797 Info Started serializing System.Collections.Generic.List`1[System.String]. Path 'Roles'. // 2012-11-11T12:08:42.798 Info Finished serializing System.Collections.Generic.List`1[System.String]. Path 'Roles'. // 2012-11-11T12:08:42.799 Info Finished serializing Newtonsoft.Json.Tests.Serialization.Staff. Path ''. // 2013-05-18T21:38:11.255 Verbose Serialized JSON: // { // "Name": "Arnie Admin", // "StartDate": new Date( // 976623132000 // ), // "Roles": [ // "Administrator" // ] // } #endregion public string TestReadJsonFromFile() Linq2Json l2j = new Linq2Json(); Newtonsoft.Json.Linq.JObject jarray = l2j.GetJObject4(); return jarray.ToString(); using System; using System.Collections.Generic; using System.Linq; using System.Web; namespace microstore public class Linq2Json #region GetJObject //Parsing a JSON Object from text public Newtonsoft.Json.Linq.JObject GetJObject() string json = @"{ CPU: 'Intel', Drives: [ 'DVD read/writer', '500 gigabyte hard drive' Newtonsoft.Json.Linq.JObject jobject = Newtonsoft.Json.Linq.JObject.Parse(json); return jobject; * //example:= Linq2Json l2j = new Linq2Json(); Newtonsoft.Json.Linq.JObject jobject = l2j.GetJObject2(Server.MapPath("json/Person.json")); //return Newtonsoft.Json.JsonConvert.SerializeObject(jobject, Newtonsoft.Json.Formatting.Indented); return jobject.ToString(); //Loading JSON from a file public Newtonsoft.Json.Linq.JObject GetJObject2(string jsonPath) using (System.IO.StreamReader reader = System.IO.File.OpenText(jsonPath)) Newtonsoft.Json.Linq.JObject jobject = (Newtonsoft.Json.Linq.JObject)Newtonsoft.Json.Linq.JToken.ReadFrom(new Newtonsoft.Json.JsonTextReader(reader)); return jobject; //Creating JObject public Newtonsoft.Json.Linq.JObject GetJObject3() List Post posts = GetPosts(); Newtonsoft.Json.Linq.JObject jobject = Newtonsoft.Json.Linq.JObject.FromObject(new channel = new title = "James Newton-King", link = "http://james.newtonking.com", description = "James Newton-King's blog.", item = from p in posts orderby p.Title select new title = p.Title, description = p.Description, link = p.Link, category = p.Category return jobject; "channel": { "title": "James Newton-King", "link": "http://james.newtonking.com", "description": "James Newton-King's blog.", "item": [{ "title": "jewron", "description": "4546fds", "link": "http://www.baidu.com", "category": "jhgj" "title": "jofdsn", "description": "mdsfan", "link": "http://www.baidu.com", "category": "6546" "title": "jokjn", "description": "m3214an", "link": "http://www.baidu.com", "category": "hg425" "title": "jon", "description": "man", "link": "http://www.baidu.com", "category": "goodman" //Creating JObject public Newtonsoft.Json.Linq.JObject GetJObject4() List Post posts = GetPosts(); Newtonsoft.Json.Linq.JObject rss = new Newtonsoft.Json.Linq.JObject( new Newtonsoft.Json.Linq.JProperty("channel", new Newtonsoft.Json.Linq.JObject( new Newtonsoft.Json.Linq.JProperty("title", "James Newton-King"), new Newtonsoft.Json.Linq.JProperty("link", "http://james.newtonking.com"), new Newtonsoft.Json.Linq.JProperty("description", "James Newton-King's blog."), new Newtonsoft.Json.Linq.JProperty("item", new Newtonsoft.Json.Linq.JArray( from p in posts orderby p.Title select new Newtonsoft.Json.Linq.JObject( new Newtonsoft.Json.Linq.JProperty("title", p.Title), new Newtonsoft.Json.Linq.JProperty("description", p.Description), new Newtonsoft.Json.Linq.JProperty("link", p.Link), new Newtonsoft.Json.Linq.JProperty("category", new Newtonsoft.Json.Linq.JArray( from c in p.Category select new Newtonsoft.Json.Linq.JValue(c) return rss; "channel": { "title": "James Newton-King", "link": "http://james.newtonking.com", "description": "James Newton-King's blog.", "item": [{ "title": "jewron", "description": "4546fds", "link": "http://www.baidu.com", "category": ["j", "h", "g", "j"] "title": "jofdsn", "description": "mdsfan", "link": "http://www.baidu.com", "category": ["6", "5", "4", "6"] "title": "jokjn", "description": "m3214an", "link": "http://www.baidu.com", "category": ["h", "g", "4", "2", "5"] "title": "jon", "description": "man", "link": "http://www.baidu.com", "category": ["g", "o", "o", "d", "m", "a", "n"] public class Post public string Title { get; set; } public string Description { get; set; } public string Link { get; set; } public string Category { get; set; } private List Post GetPosts() List Post listp = new List Post () new Post{Title="jon",Description="man",Link="http://www.baidu.com",Category="goodman"}, new Post{Title="jofdsn",Description="mdsfan",Link="http://www.baidu.com",Category="6546"}, new Post{Title="jewron",Description="4546fds",Link="http://www.baidu.com",Category="jhgj"}, new Post{Title="jokjn",Description="m3214an",Link="http://www.baidu.com",Category="hg425"} return listp; #endregion #region GetJArray * //example:= Linq2Json l2j = new Linq2Json(); Newtonsoft.Json.Linq.JArray jarray = l2j.GetJArray(); return Newtonsoft.Json.JsonConvert.SerializeObject(jarray, Newtonsoft.Json.Formatting.Indented); //return jarray.ToString(); //Parsing a JSON Array from text public Newtonsoft.Json.Linq.JArray GetJArray() string json = @"[ 'Small', 'Medium', 'Large' Newtonsoft.Json.Linq.JArray jarray = Newtonsoft.Json.Linq.JArray.Parse(json); return jarray; //Creating JArray public Newtonsoft.Json.Linq.JArray GetJArray2() Newtonsoft.Json.Linq.JArray array = new Newtonsoft.Json.Linq.JArray(); Newtonsoft.Json.Linq.JValue text = new Newtonsoft.Json.Linq.JValue("Manual text"); Newtonsoft.Json.Linq.JValue date = new Newtonsoft.Json.Linq.JValue(new DateTime(2000, 5, 23)); //add to JArray array.Add(text); array.Add(date); return array; #endregion //待续... } 测试效果: %@ Page Language="C#" AutoEventWireup="true" CodeBehind="testjson.aspx.cs" Inherits="microstore.testjson" % !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" html xmlns="http://www.w3.org/1999/xhtml" head runat="server" title /title style type="text/css" body{ font-family:Arial,微软雅黑; font-size:14px;} a{ text-decoration:none; color:#333;} a:hover{ text-decoration:none; color:#f00;} /style /head body form id="form1" runat="server" h3 序列化对象 /h3 表现1: br / %=TestJsonSerialize()% %=TestListJsonSerialize() % 表现2: br / %=TestListJsonSerialize2() % hr / h3 反序列化对象 /h3 p 单个对象 /p %=TestJsonDeserialize() % p 多个对象 /p %=TestListJsonDeserialize() % p 反序列化成数据字典Dictionary /p %=TestDeserialize2Dic() % hr / h3 自定义反序列化 /h3 %=TestListCustomDeserialize()% hr / h3 序列化输出的忽略特性 /h3 NullValueHandling特性忽略= br / %=CommonSerialize() % br / %=IgnoredSerialize()% br / br / 属性标记忽略= br / %=OutIncluded() % br / %=OutIncluded2() % hr / h3 Serializing Partial JSON Fragments /h3 %=SerializingJsonFragment() % hr / h3 ShouldSerialize /h3 %=ShouldSerializeTest() % br / %=JJJ() % br / br / %=TestReadJsonFromFile() % /form /body /html 显示: 序列化对象 表现1: { "Name": "Apple", "Expiry": "2014-05-04 02:08:58", "Price": 3.99, "Sizes": null } [ { "Name": "Apple", "Expiry": "2014-05-04 02:08:58", "Price": 3.99, "Sizes": [ "Small", "Medium", "Large" ] }, { "Name": "Apple", "Expiry": "2014-05-04 02:08:58", "Price": 3.99, "Sizes": [ "Small", "Medium", "Large" ] } ] 表现2:
[ { "Name": "Apple", "Expiry": "2014-05-04 02:08:58", "Price": 3.99, "Sizes": [ "Small", "Medium", "Large" ] }, { "Name": "Apple", "Expiry": "2014-05-04 02:08:58", "Price": 3.99, "Sizes": [ "Small", "Medium", "Large" ] } ] 反序列化对象 单个对象 Apple
2014-05-03 10:20:59
3.99
Small,Medium,Large 多个对象 Apple
2014-05-03 10:20:59
3.99
Small,Medium,Large Apple
2014-05-03 10:20:59
3.99
Small,Medium,Large 反序列化成数据字典Dictionary Dictionary长度2
key:key1,value:zhangsan
key:key2,value:lisi --------------------------------------------------------------- 自定义反序列化 当前List[x]对象类型:microstore.Employee
FirstName:Maurice
LastName:Moss
BirthDate:1981-3-8 0:00:00
Department:IT
JobTitle:Support
当前List[x]对象类型:microstore.Employee
FirstName:Jen
LastName:Barber
BirthDate:1985-12-10 0:00:00
Department:IT
JobTitle:Manager ------------------------------------------------------------- 序列化输出的忽略特性
NullValueHandling特性忽略=
{ "Name": "Bad Boys III", "Description": "It's no Bad Boys", "Classification": null, "Studio": null, "ReleaseDate": null, "ReleaseCountries": null }
{ "Name": "Bad Boys III", "Description": "It's no Bad Boys" } 属性标记忽略=
{ "Model": "zhangsan", "Year": "2014-05-01T02:08:58.671875+08:00", "Features": [ "aaaa", "bbbb", "cccc" ] }
{ "Name": "zhangsan", "SalePrice": 3999.0 }
----------------------------------------------------------------- Serializing Partial JSON Fragments
Title:Paris Hilton - Wikipedia, the free encyclopedia
Content: [1] In 2006, she released her debut album...
Url:http://en.wikipedia.org/wiki/Paris_Hilton
Title:Paris Hilton
Content: Self: Zoolander. Socialite Paris Hilton...
Url:http://www.imdb.com/name/nm0385296/ -------------------------------------------------------------------------------- ShouldSerialize
[ { "Name": "Joe Employee", "Manager": { "Name": "Mike Manager" } }, { "Name": "Mike Manager" } ]
{ "name": "Widget", "expiry": "2014-5-1 2:08:58", "price": 9.99, "sizes": [ "Small", "Medium", "Large" ] } { "channel": { "title": "James Newton-King", "link": "http://james.newtonking.com", "description": "James Newton-King's blog.", "item": [ { "title": "jewron", "description": "4546fds", "link": "http://www.baidu.com", "category": [ "j", "h", "g", "j" ] }, { "title": "jofdsn", "description": "mdsfan", "link": "http://www.baidu.com", "category": [ "6", "5", "4", "6" ] }, { "title": "jokjn", "description": "m3214an", "link": "http://www.baidu.com", "category": [ "h", "g", "4", "2", "5" ] }, { "title": "jon", "description": "man", "link": "http://www.baidu.com", "category": [ "g", "o", "o", "d", "m", "a", "n" ] } ] } } 以上这篇Json.net 常用使用小结(推荐)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持phpstudy。更多编程语言

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

相关文章阅读