IT学习者 | 文章大全 | 技术文档 | 桌面壁纸 | 实用查询 | 网络电台 | 成语 | 歇后语 | 网址 | 下载 | 周公解梦 | 生日密码 | 电视剧365 | Flash
 您现在的位置: IT学习者 >> 文章大全 >> 网络编程 >> ajax

Ajax中数据传递的另一种模式:JSON

【 作者:supNate    来源:笑笑设计  更新时间:2006-5-8 | 字体:
Ajax是“异步javascript和XML”的缩写已经众所周知,然而虽然XML是看上去的重要 组成部分,它却不是必须的。今天看到一篇国外Blog提到JSON的说法,全称是javascript Object Notation,意思是直接使用Ajax对象来传递信息,可以读作“Jason”。在这里我就简单的介绍一下,JSON概念很简单,就是服务器直接生成javascript语句,客户端获取后直接用eval方法来获得这个对象,这样就可以省去解析XML的性能损失。比如传递Blog评论的示例:
使用XML表示:
<comments>
 <comment>
  <id>1</id>
  <author>someone1</author>
  <url>http://someone1.x2design.net</url>
  <content>hello</content>
 </comment>
 <comment>
  <id>2</id>
  <author>someone2</author>
  <url>http://someone2.x2design.net</url>
  <content>someone1</content>
 </comment>
 <comment>
  <id>3</id>
  <author>someone3</author>
  <url>http://someone3.x2design.net</url>
  <content>hello</content>
 </comment>
</comments>

使用JSON:
{comments:[
 {
  id:1,
  author:"someone1",
  url:"http://someone1.x2design.net",
  content:"hello"
 },
 {
  id:2,
  author:"someone2",
  url:"http://someone2.x2design.net",
  content:"hello"
 },
 {
  id:3,
  author:"someone3",
  url:"http://someone3.x2design.net",
  content:"hello"
 }
]};

很容易发现,使用JSON不仅减少了解析XML解析带来的性能问题和兼容性问题,而且对于javascript来说非常容易使用,可以方便的通过遍历数组以及访问对象属性来获取数据,其可读性也不错,基本具备了结构化数据的性质。不得不说是一个很好的办法,而且事实上google maps就没有采用XML传递数据,而是采用了JSON方案。

JSON的另外一个优势是跨域可行性,例如你在www.xxx.com的网页里使用<script type="text/javascript" src="http://www.yyy.com/some.js"></script>是完全可行的,这就意味着你可以跨域传递信息。而使用XMLHttpRequest却获取不了跨域的信息,这是javascript内部的安全性质所限制的。

JSON看上去很美,是不是就能完全取代XML呢?事实并非如此,而原因就在于XML的优势:通用性。要使服务器端产生语法合格的javascript代码并不是很容易做到的,这主要发生在比较庞大的系统,服务器端和客户端有不同的开发人员。它们必须协商对象的格式,这很容易造成错误。

无论如何,JSON是一个诱人的技术,准备在X2Blog做一个大量的试用。希望届时可以获取大的性能提高。
相 关 文 章
相 关 软 件
逃生 放生 黄玫瑰 想太多 那滋味 擦肩而过 放手去爱 北京欢迎你 依然在一起 吻得太逼真 感动天感动地 坐上火车去拉萨 怎么会狠心伤害我
心碎 冲动 小太阳 别碰我 蒲公英 千山万水 改变自己 一定要爱你 等爱的玫瑰 陷入爱里面 北极星的眼泪 最后一次的温柔 亲爱的那不是爱情
光荣 火花 坏女人 日不落 樱花草 为你写诗 独家记忆 夏天的味道 寂寞才说爱 忘不掉的伤 爱上你是个错 第三者的第三者 地球人都知道我爱你
假如 相思 是非题 有缘人 舍不得 我的答铃 死而无憾 外滩十八号 越爱越难过 123木头人 和寂寞说分手 爱上你是我的错 爱情里没有谁对谁错
加入收藏留言建议自助友情链接普通友情链接站长的Blog
版权所有   COPYRIGHT 2002-2008 ★IT学习者★ ALL RIGHTS RESERVED.