阿里技术学习博客

分享学习经验

IT博客网 联系 聚合 管理
  40 Posts :: 1 Stories :: 21 Comments :: 0 Trackbacks
JSON是一种正在网络上慢慢兴起的数据交换格式。就象AJAX并不是什么新技术一样,JSON也没有提供什么新格式,它基于ECMAScript标准中对ObjectLiteral的定义(ECMA-262, 11.1.5),早就被javascript支持。格式定义非常简单,就是通过一组键值对来定义一个对象。在javascript中,你可以直接将这种格式的数据赋值给一个变量,然后通过键名取值。相对于使用xml来作为数据交换格式,如果要在javascript里使用,首先需要创建一个DOMParser,然后通过DOM接口访问节点对象,非常繁琐,更不用说不同浏览器的实现中DOMParser的实现和DOM接口都有诸多不同。为什么大量的AJAX应用中宁可直接返回一个HTML片断而不是直接把XML交给javascript处理,一个主要原因就是处理XML的过程比较复杂。JSON最重要的贡献就是简化了解析数据的过程。 del.icio.us提供的在网页上显示书签的javascript脚本就基于JSON,看一下这个脚本,再设想一下通过AJAX读取del.icio.us提供的RSS接口来实现这个功能,就能体会JSON的巧妙了。除此之外,更有人提出类似XSLT的JSONT,可以将JSON格式的内容转换成其他形式,虽然还暂时还没有XSLT灵活和强大,至少展示了一种可能性。 JSON解决的另一个传统AJAX中xmlhttprequest不能解决的问题就是跨域链接的问题。基于安全考虑,各种浏览器缺省都不允许xmlhttprequest跨域名链接,abc.com页面上的xmlhttprequest是无法连接def.com的内容的。在网页中,JSON可以采用引入script元素的方式导入数据,html中的script可以指定非本地脚本,跨域链接的问题得以解决。但使用这样的方式导入JSON数据,是一个同步的过程(是否可以用defer属性来实现异步?),这点上不如xmlhttpreqeust灵活。
posted on 2007-05-31 16:32 阿里爸爸 阅读(437) 评论(2)  编辑 收藏 引用 所属分类: 技术

Feedback

# re: 一种正在网络上慢慢兴起的数据交换格式 JSON 2007-05-31 18:48 阿里爸爸
再推荐一个很好的文章(IBM的文章还是不错的!)
http://www.ibm.com/developerworks/cn/web/wa-cachejson.html
  回复  更多评论
  

# re: 一种正在网络上慢慢兴起的数据交换格式 JSON 2008-12-13 16:41 dell笔记本
恩,前几天还和同事谈论这个,可惜资料太少  回复  更多评论
  



标题  
姓名  
主页
验证码 *
内容(提交失败后,可以通过“恢复上次提交”恢复刚刚提交的内容)
 
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
[使用Ctrl+Enter键可以直接提交]
相关链接: