文章标签 ‘Json’
我们知道Json是一种特殊Javascript对象,介绍几个Json查看工具。 http://jsonviewer.codeplex.com/ .Net开发的Json查看器,可反编译查看源码,呵呵。 https://addons.mozilla.org/en-us/firefox/addon/jsonview/ 火狐的Json查看器插件,可在火狐中打开Json内容查看 https://chrome.google.com/extensions/detail/chklaanhfefbnpoihckbnefhakgolnmc 谷歌浏览器的Json查看器插件,功能同上 http://jsonviewer.stack.hu/ 在线的Json查看器,非常方便。
今天来介绍一下Javascript中的JSON序列化和反序列化,我们知道JSON是一种通用的数据格式,有着存储体积小等特点,而且JSON还是原生的Javascript对象的代码形式。接下来我们介绍一下JSON的序列化和反序列化方法。 首先,我们需要导入json2.js这个类库,可以从json.org官网上找到。下载地址 在一个HTML页面中加入如下代码: 输出结果: 下面是反序列方法,因为Json是原生的Javascript对象的代码形式,所以可以直接调用eval()方法进行反序列化 输出结果: 是不是很简单?在Javascript中用json这种数据格式比xml更有优势,现在很多ajax操作,基本用的都是json这种轻量级数据格式。推荐大家在ajax等需要数据交换的时候使用。
Json是一种通用的数据格式,我们在数据交换的时候,经常会用到,下面介绍c#中的json序列化和反序列化,当然也可用在asp.net,silverlight,wpf中。我们在下面实例讲解如何进行Json的序列化和反序列化,本文介绍两种方案,.net 3.5原生Json操作和Json.net中的Json操作。 首先,我们先建立一个测试对象,用来序列化和反序列化。 第一种,利用.Net Framework 3.5中原生的Json操作类库,特点就是不需要导入第三方类库,比较方便,速度上一般,而且需要.Net Framework的支持,我们知道现在还有很多服务器没有升级到.Net Framework 3.5,就用不了这个了。 首先导入下面类库,并加入下面代码 System.ServiceModel System.ServiceModel.Web 输出结果 这个是.Net Framework 3.5原生的序列化方式,接着,我们介绍反序列化方式,还是同样的加入下面代码 输出结果 我们从.Net Framework 3.5原生的Json序列化及反序列化方式中,可以看出,还是相当麻烦的。很多网友也会问如果是.Net Framework 2.0该怎么办呢?下面,我们介绍一个第三方的Json序列化和反序列化类库,来完成上面操作,这个类库是有.Net Framework 2.0的版本的哦,而且这个类库还可以支持xml的序列化和反序列化操作(本文不做讲解)。下面看操作。 输出结果 这个是Json序列化方法,是不是简单了很多呢? 输出结果 这个是Json反序列化方法,简单吧,而且据说这个类库的速度比.Net原生的Json序列化和反序列化方法要快很多。下载地址http://json.codeplex.com/
JSON 即 JavaScript Object Natation,它是一种轻量级的数据交换格式,非常适合于服务器与客户端的数据交互。和 XML 一样,JSON 也是基于纯文本的数据格式。由于 JSON 天生是为 JavaScript 准备的,因此,JSON 的数据格式非常简单,您可以用 JSON 传输一个简单的 String,Number,Boolean,也可以传输一个数组,或者一个复杂的 Object 对象。 JSON可分为数组和对象 数组是值(value)的有序集合。一个数组以“[”(左中括号)开始,“]”(右中括号)结束。值之间使用“,”(逗号)分隔。 对象是一个无序的“‘名称/值’对”集合。一个对象以“{”(左括号)开始,“}”(右括号)结束。每个“名称”后跟一个“:”(冒号);“‘名称/值’ 对”之间使用“,”(逗号)分隔。 其中,数组和对象中的值都是双括号括起来的,可以是字符串(string)、数值(number)、true、false、 null、对象(object)或者数组(array)。这些结构可以嵌套。 因为Json是一种纯文本的数据格式,所以特殊字符需要转义,使用一个反斜线转义,这个和C#的字符串转义非常相似。数值表示上也与C#一样,除去未曾使用的八进制与十六进制格式。
最近,Json.Net更新了新版本,并在序列化和反序列化进行了重大改进。官方宣称其性能已经比现在任何一款Json序列化机制都要快速,如JavaScriptSerializer和WCF DataContractJsonSerializer。 从数据结果来看Json.Net速度确实比微软官方的Json序列化和先前版本要快很多,对于数据交换来说,Json数据格式有着的传递数据小,速度快等特点,推荐在数据交换的时候,如聊天系统中使用。值得一提的事Json.Net提供了非常丰富的Json序列化和反序列化方法,提供了.Net Framework 2.0,3.5,Silverlight的支持。后面我会介绍如何使用这个类库进行Json序列化和反序列化操作。 项目网址