本文主要讲解如何使用Json.Net6.0,感兴趣的朋友不妨看看。本文介绍的方法简单、快速、实用。让边肖带你学习如何使用Json.Net6.0
00-1010 JSON (JavaScript对象表示法)是一种轻量级的数据交换格式。简单来说,JSON可以将一组用JavaScript对象表示的数据转换成字符串,然后这些字符串可以很容易地在函数之间或者从Web客户端传递到异步应用程序中的服务器端程序。这个字符串看起来有点奇怪,但是JavaScript很容易解释,JSON可以表示比‘名称/值对’更复杂的结构。例如,它可以表示数组和复杂的对象,而不仅仅是简单的键和值列表。
它具有以下特点:
1.灵活的JSON序列化程序,用于在。NET对象和JSON ——灵活的JSON序列化器用来实现之间的转换。net对象和JSON。
2.Linq to Json用于手动读写Json —— Linq to JSON用于手动读写JSON。
3.高性能,比更快。NET内置的JSON序列化器——性能很高,比内置的JSON序列化器更快。净。
4.缩进写,易读Json ——缩进写,使Json易读。
5.将JSON转换为XML——和从XML ——转换JSON支持JSON和XML之间的转换。
6.支持. net2.net3.5.net4、Silverlight、Windows Phone和Windows 8——支持. net2.net3.5.net4、Silverlight、Windows Phone和Windows 8。
在Json中有两个用于读写的内置对象。Net: DataContractJsonSerializer和JavaScriptSerializer。但这只有在。净3.5。而且表现也不出色。
性能对比图如下:
这是Json.Net 5和之间的性能对比图。NET内置对象,但是现在Json.Net的版本已经到了6.0.1版本,相信会表现的更好。JSON.NET是开源的。下载地址是http://json.codeplex.com/.这里有一个完整的源代码。当然,你也可以参考http://james.newtonking.com/.
Jb51下载地址:https://www.yisu.com/codes/571698.html
当然,通过VS进入Nuget管理包也可以下载Json.Net的包。
让我们通过例子来简单了解一下JSON.NET。
1.将对象序列化为json字符串。
2.然后将字符串反序列化为对象。
3.JSON和XML之间的相互转换。
四.当然,还有其他的格式转换,所以我们暂时就不举例了,后面的文章会对此进行更详细的描述。
00-1010首先定义一个实体类对象。
publicclassAccount
{
publicstringEmail { get设置;}
publicboolActive { get设置;}
publicnb
sp;DateTime CreatedDate { get; set; }
public IList<string> Roles { get; set; }
}
实例化实体类,然后进行序列化为Json字符串
Account account = new Account() { Email = "aehyok@vip.qq.com", Active = true, CreatedDate = new DateTime(2014, 3, 27, 0, 0, 0, DateTimeKind.Utc), Roles = new List<string>{"aehyok","Kris" } }; string json = JsonConvert.SerializeObject(account, Formatting.Indented);
得到的json字符串结果为
{ "Email": "aehyok@vip.qq.com", "Active": true, "CreatedDate": "2014-03-27T00:00:00Z", "Roles": [ "aehyok", "Kris" ] }
Deserialize an Object——反序列化一个对象
继续使用上面的实体类
现在是先定义一个Json的字符串,我们也可以将上面生成的Json字符串进行简单的修改,然后进行反序列化处理
string json = @"{ 'Email': 'aehyok@vip.qq.com', 'Active': true, 'CreatedDate': '2014-03-27T00:00:00Z', 'Roles': [ 'aehyok', 'Kris' ] }"; Account account = JsonConvert.DeserializeObject<Account>(json);
通过调试得到的数据为
Convert JSON to XML——将JSON转换为XML
首先还是定义一个Json字符串,然后对其进行转换
string json = @"{ '@Id': 1, 'Email': 'aehyok@viq.qq.com', 'Active': true, 'CreatedDate': '2014-01-20T00:00:00Z', 'Roles': [ 'Kris', 'aehyok' ], 'Team': { '@Id': 2, 'Name': 'Software Developers', 'Description': 'Creators of fine software products and services.' } }"; XNode node = JsonConvert.DeserializeXNode(json, "Root");
转换结果为
Convert XML to JSON——将XML转换为JSON
现在就是需要先定义一个简单的XML字符串,然后对其进行转换处理
string xml = @"<?xml version='1.0' standalone='no'?> <root> <person id='1'> <name>aehyok</name> <url>http://www.google.com</url> </person> <person id='2'> <name>Kris</name> <url>http://www.baidu.com</url> </person> </root>"; XmlDocument doc = new XmlDocument(); doc.LoadXml(xml); string json = JsonConvert.SerializeXmlNode(doc);
通过调试得到的结果为
其他功能简介
-
1、Linq to JSON是用来操作JSON对象的。可以用于快速查询、修改、删除和创建JSON对象。当JSON对象内容比较复杂,而我们仅仅需要其中的一小部分数据时,可以考虑使用Linq to JSON来读取和修改部分的数据而非反序列化全部。
-
2、Json.Net不仅支持序列化和反序列化对象,还支持XML和JSON之间的转换。它支持的数据类型与JSON之间的转换,例如:DataSet、DataTable、Entity Framework和NHibernate、Collection、Dictionary、Dynamic等等,大部分的数据类型基本都支持。
-
3、JSON.NET支持BSON数据的序列化和反序列化。
BSON(Binary Serialized Document Format)是一种类json的一种二进制形式的存储格式,简称Binary JSON,它和JSON一样,支持内嵌的文档对象和数组对象,但是BSON有JSON没有的一些数据类型,如Date和BinData类型。 -
4、JSON Schema 用于描述JSON数据的结构和类型。如同DTD与XML的关系。
-
暂时我了解了这么多的功能。总之,它对于一些什么为空处理、日期格式控制、忽略属性转换等等的一些配置处理,都做的非常不错,有关详细介绍会在后续学习之后,进行总结记录介绍。
到此,相信大家对“Json.Net6.0怎么使用”有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/156068.html