以文本方式查看主题 - 中文XML论坛 - 专业的XML技术讨论区 (http://bbs.xml.org.cn/index.asp) -- 『 HTML/XHTML/Ajax/Web 2.0/Web 3.0 』 (http://bbs.xml.org.cn/list.asp?boardid=22) ---- 设计与应用JavaScript对象符号JSON (http://bbs.xml.org.cn/dispbbs.asp?boardid=22&rootid=&id=52999) |
-- 作者:hongjuesir -- 发布时间:9/24/2007 12:06:00 PM -- 设计与应用JavaScript对象符号JSON XML是作为一种数据交换工具开发并推出的,但并不是所有开发者都支持这一工具。实际上一些开发者选择开发其它工具。JSON(JavaScript对象符号)就是其中之一。在本文中,我们来详细了解一下JSON的设计与应用。
JSON简介 JSON是一种用JavaScript对象符号格式化文本的简单方法。与其它更为流行的面向对象设计技术不同的是,人们经常称它为面向数据工具。由于它使用编程结构,因此易于为人与机器进行阅读。 JSON旨在传送基于文本的数据,所以它不支持任何类型的二进制对象。基本上,它支持两种类型的数据结构:名称/值对集合(如对象)和有序数值列表(如数组)。下面的列表详细说明了JSON支持的数据元素: Objects(对象):以大括号( {})开始并结束的对象。 { "websites":[ "http://www.techrepublic.com/", "http://www.cnet.com/", http://www.news.com/ ] } 要用XML方便地定义同样的数据,可能相当困难。 为何不使用XML? XML是一个优秀的数据工具。它允许你建立标签等符号来描述任何类型任何数量的数据。另外,它还是IT业的知名标准。 另一方面,对许多任务来说,XML的功能可能过于强大,并会增加许多额外的开销。而且,不管它建立起来多么方便,(人类)却无法阅读这些代码。 让我们用XML格式化前面的例子: <?xml version="1.0"?> <websites> <website>http://www.techrepublic.com/</website> <website>http://www.cnet.com/</website> <website>http://www.news.com/</website> </websites> 你可能认为这两个例子之间没有太大的差别。但是,在XML中要传送的字符数量几乎增加了一倍。对一个简单的例子而言,这可能不是一个大问题。但让我们看看下面的一个更加复杂的JSON实例: { "book":{ "title":"The Quiet American", "author":"Graham Greene", "date_published":"9/28/2004", "publisher":"Penguin Classics", "isbn": "0143039024", "language":"English", "format":"paperback", "pages":"208" } } 下面是对应的XML代码: <books> <book> <title>The Quiet American</title> <author>Graham Greene</author> <date_published>9/8/2004</date_published> <publisher>Penguin Classics</publisher> <isbn>0143039024</isbn> <language>English</language> <format>paperback</format> <pages>208</pages> </book> </books> XML方法包含更多的文本,因此需要通过网络传输更多的数据。随着数据增长和/或变得更加复杂,XML的数量也相应增加。 处理JSON数据 要应用JSON,你需要像处理XML一样对JSON格式的数据进行解析。 由于其设计简单,所以用JavaScript内置的eval()过程可以很方便地对JSON进行解析,如下面的代码片断所示: testObject = eval('(' + json_data + ')'); 也可以应用JSON解析器进行解析操作。Json.ory网站提供了一个同样使用eval过程的解析器。另外,Ajax.NET专业包中包含了一个单独的解析器,开发者可以用它处理微软.NET Framework。Yahoo!开发者网络也提供用Python和PHP解析JSON的库。 另一种选择 JSON是一种根据JavaScript对象符号描述并传输数据的简单方法。JSON的最大优势在于速度,因为它需要传输的数据比XML传输的数据要少,因此传输的速度更快。虽然XML也有它的优势,但我认为,在数据交换方面,JSON是XML之外的另一可行选择。 Tony Patton拥有丰富的Java、VB、Lotus及XML方面的知识,是一个专业的应用程序开发人员。
|
W 3 C h i n a ( since 2003 ) 旗 下 站 点 苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》 |
31.250ms |