快速业务通道

基于ASP.NET 3.5 Web Service的JSON扩展应用

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-05-20

如果你经常使用ASP.NET Web服务,那么你便知道他们可以以不同的方法进行通信。可以使用SOAP 1.1/1.2,HTTP POST和HTTP GET的一些支持的协议调用ASP.NET Web服务。我们可以通过HTTP POST或GET非常容易的调用Web服务,并且也有 能力进行信息传递和接收简称JSON编码的对象,而不是使用普通的字符串和XML传递。

JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它采用完全独立于语言的文本格 式,可替换XML成为AJAX程序中的数交换格式。它类似于XML和SOAP,同样具有跨平台的特性,是基于JavaScript 的一个子集,并易于人阅读和 编写,同时也易于机器解析和生成。而且也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等),这些特性使 JSON成为理想的数据交换语言。微软选择JSON在服务器和Ajax客户端可以实现数据交换。在客户端和服务器端均实现了(数据的)串行化器和并行化器 以使数据按JSON的格式交换。这提供了一种使浏览器向服务器发出Web Service请求的方法。同时,它也提供一个异步通信层,连接浏览器与网络终端。 Ajax从Beta版开始全面用JSON格式描述服务器和客户端之间传输的数据,Microsoft.Web.Script.Services命名空间提供这方面的支持。

尽管有许多宣传关于XML如何拥有跨平台,跨语言的优势,然而,除非应用于 Web Services,否则, 在普通的Web应用中,开发者经常为XML的解析伤透了脑筋,无论是服务器端生成或处理 XML,还是客户端用 JavaScript 解析 XML,都常常导致 复杂的代码,极低的开发效率。实际上,对于大多数Web 应用来说,他们根本不需要复杂的 XML 来传输数据,XML 的扩展性很少具有优势,许多 AJAX 应 用甚至直接返回HTML片段来构建动态 Web 页面。和返回 XML 并解析它相比,返回 HTML 片段大大降低了系统的复杂性,但同时缺少了一定的灵活 性。

现在,JSON 为Web应用开发者提供了另一种数据交换格式。让我们来看看JSON到底是什么?同 XML 或 HTML 片段相比,JSON 提供了更好的简单性和灵活性。JSON 数据格式解析和XML一样,JSON 也是基于纯文本的数据格式。由于JSON天生是为 JavaScript 准备的,因此,JSON的数据格式非常简单,您可以用 JSON 传输一个简单的String,Number,Boolean,也可以传输一个数组,或者一个 复杂的 Object对象。

它有两种结构:

1、 “名称/值”对的集合(A collection of name/value pairs)。不同的语言中,它被理解为对 象(object),纪录(record),结构(struct),字典(dictionary),哈希表(hash table),有键列表(keyed list),或者关联数组 (associative array)。

2、 值的有序列表(An ordered list of values)。在大部分语言中,它被理解为数组(array)。 先看看用下面Xml表示:

<posts>

    <post>

        <id>1</id>

        <title>标题1</title>

        <content>内容</content>

        <posterId>12</posterId>

    </post>

    <post>

        <id>2</id>

        <title>标题2</title>

        <content>内容</content>

        <posterId>13</posterId>

    </post>

</posts>

使用JSON:

{posts:[

    {

        id:1,

        title:"标题1",

        content:"内容",

        posterId:12

    },

    {

        id:2,

        title:"标

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号