首页 > 作文

Json.Net6.0用法介绍

更新时间:2023-04-04 12:35:31 阅读: 评论:0

前言

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、……当然还有其他格式的转换,我们暂时不进行举例,后面的文章会对此进行比较详细的描述。

rialize an object——序列化一个对象

首先定义一个实体类对象

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"  ]}

derialize 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.derializeobject<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 rvices.'              }            }";            xnode node = jsonconvert.derializexnode(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:/甲乙两地相距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);

通过调试得到的结果为

其他功能简介

1、linq to json是用来操作json对象的。可以用于快速查询、修改、删除和创建json对象。当json对象内容比较复杂,而我们仅仅需要其中的一小部分数据时,可以考虑使用linq to json来读取和修改部分的数据而非反序列化全部。2、json.net不仅支持序列化和反序列化对象,还支持xml和json之间的转换。它支持的数据类型与json之间的转换,例如:datat、datatable、entity framework和nhibernate、collection、dictionary、dynamic等等,大部分的数据类型基本都支持。3、json.net支持bson数据的序列化和反序列化。
bson(binary rialized document format)是一种类json的一种二进制形式的存储格式,简称binary json,它和json一样,支持内嵌的文档对象和数组对象,但是bson有json没有的一些数据类型,如date和bindata类型。4、json schema 用于描述json数据的结构和类型。如同dtd与xml的关系。暂时我了解了这么多的功能。总之,它对于一些什么为空处理、日期格式控制、忽略属性转换等等的一些配置处理,都做的非常不错,有关详细介绍会在后续学习之后,进行总结记录介绍。

到此这篇关于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 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图