json(javascript object notation) 是一种轻量级的数据交换格式。简单地说,json 可以动漫女图将 javascript 对象中表示的一组数据转换为字符串,然后就可以在函数之间轻松地传递这个字符串,或者在异步应用程序中将字符串从 web 客户机传递给服务器端程序。这个字符串看起来有点儿古怪,但是 javascript 很容易解释它,而且 json 可以表示比”名称 / 值对”更复杂的结构。例如,可以表示数组和复杂的对象,而不仅仅是键和值的简单列表。
它所具有的特性:
1、flexible json rializer for converting between .net objects and json ——灵活的json序列化器用于实现.net对象与json的转换2、linq 辛弃疾介绍to json for manually reading and writing json ——linq to json用于手动读写json3、high performance, faster than .net’s built-in json rializers——高性能,比.net内置的json序列化程序速度要更快4、writes indented, easy to read json ——缩排书写,使得json易读5、convert json to and from xml——支持json 与 xml 两种格式相互转换6、supports .net 2 .net 3.5 .net 4, silverlight, windows phone and windows 8——支持.net2.net3.5.net4,silverlight,windows phone和windows 8在.net中内置了读写json的对象就是 datacontractjsonrializer
和 javascriptrializer
这两个。但是这个是在.net 3.5之后才支持的。并且性能上并不优秀。
性能对比图如下:
这是json.net 5与.net内置对象的性能对比图,而现在json.net的版本已经到达了version 6.0.1 ,相信它会有更好的表现。json.net是开源的,下载地址:http://json.codeplex.com/,这里有完整的源代码,当然也可以参考http://james.newtonking.com/这里。
jb51下载地址:
当然通过vs进入nuget管理包也可以进行下载json.net的程序包
下面我们来简单的通过实例进行初步了解json.net。
1、序列化一个对象为json字符串。2、然后再将字符串反序列化为对象。3、json与xml之间的互转。4、……当然还有其他格式的转换,我们暂时不进行举例,后面的文章会对此进行比较详细的描述。首先定义一个实体类对象
public class account { public string email { get; t; } public bool active { get; t; } public datetime createddate { get; t; } public ilist<string> roles { get; t; } }
实例化实体类,然后进行序列化为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&乒乓球世锦赛2017gt;{"aehyok","kris" } }; string json = jsonconvert.rializeobject(account, formatting.indented);
得到的json字符串结果为
{ "email": "aehyok@vip.qq.com", "active": true, "createddate": "2014-03-27t00:00:00z", "roles": [ "aehyok", "kris" ]}
继续使用上面的实体类
现在是先定义一个json的字符串,我们也可以将上面生成的json字符串进行简单的修改,然后进行反序列化处理
string json = @"{ 'email': 'aehyok@vip.qq.com', 'active': true, 'createddate': '2014-03-27t00:00:00z', 'roles': [ 'aehyok', 'kris' ] }"; account account = jsonconvert.derializeobject<account>(json);
通过调试得到的数据为
首先还是定义一个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 rvices.' } }"; xnode node = jsonconvert.derializexnode(json, "root");
转换结果为
现在就是需要先定义一个简单的xml字符串,然后对其进行转换处理
string xml = @"<?xml version='1.0' standalone='no'?> <root> <person id='1'> <name>aehyok</name> <url>http:/甲乙两地相距360千米/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.rializexmlnode(doc);
通过调试得到的结果为
到此这篇关于json.net6.0用法介绍的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持www.887551.com。
本文发布于:2023-04-04 12:35:29,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/fanwen/zuowen/40cb5dc0456b03f59efe97a8d39a41e0.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:Json.Net6.0用法介绍.doc
本文 PDF 下载地址:Json.Net6.0用法介绍.pdf
留言与评论(共有 0 条评论) |