新手入门 | 考试认证 | 开源专区 | 核心技术 | J2EE | 高级技术 | J2ME | Java&xml | 其他技术 | 博客日志 | Java论坛
您现在的位置: 中国IT实验室 >> Java >> 核心技术 >> 网络编程 >> 文章正文
Ajax:拥抱JSON,让XML走开
www.jialing.net  2006-12-12  保存本文  推荐给好友  QQ上看本站  收藏本站

版权所有,转载请注明,来自www.jialing.net

    Ajax(Asynchronous JavaScript and XML)说到底就是一种浏览器异步读取服务器上XML内容的技术。现在的技术凡是跟XML扯上关系,再加上个概念做幌子,就像金装了一样,拽得不行。门外 的人看得很是热闹,门里的人摇摇头不外如是。XML呢,跨平台的新潮语言?其实XML=TXT。XML只是符合很多规范的文本。它本身什么都不是,只是保 存字符的文件。而浏览器异步读取的只是服务器上的文本内容,所以在Ajax开发时完全不必拘泥于XML。[版权所有,www.jialing.net]


  • JSON的来历

     XML 的作用是格式化数据内容。如果我们不用XML还有什么更好的方法吗?这个答案是JSON。介绍JSON之前我先介绍一下JavaScript这门脚本语 言。脚本语言自身有动态执行的天赋。即我们可以把想要执行的语句放在字符串里,通过eval()这个动态执行函数来执行。字符串里的内容会像我们写的脚本 一样被执行。
示例1:
<HTML>
<HEAD>
<TITLE>eval example 1</TITLE>
</HEAD>
<BODY>
<script>
str 
= "alert('hello')";
eval(str);
</script>
</BODY>
</HTML>

打开页面会弹出hello窗口。
我们可以在字符串中放任何脚本语句,包括声明语句:
<HTML>
<HEAD>
<TITLE>eval example 2</TITLE>
</HEAD>
<BODY>
<script>
define 
= "{name:'Michael',email:'17bity@gmail.com'}";
eval(
"data = "+define);
alert(
"name:"+data.name);
alert(
"email:"+data.email);
</script>
</BODY>
</HTML>

    如果我们在后台异步传来的文本是JavaScript的声明语句,那么不是一条eval方法就能解析了?对于解析复杂的XML,这样的效率是多么大的提高啊!
    现在就来告诉你什么是JSON:JavaScript Object Notation。我更愿意把它翻译为JavaScript对象声明。比如要从后台载入一些通讯录的信息,如果写成XML,如下:

<contact>
    
<friend>
        
<name>Michael</name>
        
<email>17bity@gmail.com</email>
        
<homepage>http://www.jialing.net</homepage>
    
</friend>
    
<friend>
        
<name>John</name>
        
<email>john@gmail.com</email>
        
<homepage>http://www.john.com</homepage>
    
</friend>
    
<friend>
        
<name>Peggy</name>
        
<email>peggy@gmail.com</email>
        
<homepage>http://www.peggy.com</homepage>
    
</friend>
</contact>


而写成JSON呢:
[
  {
   name:
"Michael",
   email:
"17bity@gmail.com",
   homepage:
"http://www.jialing.net"
 },
 {
   name:
"John",
   email:
"john@gmail.com",
   homepage:
"http://www.jobn.com"
 },
  {
   name:
"Peggy",
   email:
"peggy@gmail.com",
   homepage:
"http://www.peggy.com"
 }
]

    简 单的不只是表达上,最重要的是可以丢弃让人晕头转向的DOM解析了。因为只要符合JavaScript的声明规范,JavaScrip会自动帮你解析好 的。Ajax中使用JSON的基本方法是前台载入后台声明JavaScript对象的字符串,用eval方法来将它转为实际的对象,最后通过 DHTML更新页面信息。

[1] [2] 下一页  





 相关文章  推荐文章
利用AjAX动态变换过滤条件
掌控上传进度的AJAX Upload
AJAX和Web开发新技术DynamicFaces简介
ajax、Struts、spring的无缝结合
java学习经验 Ajax 学习笔记
争论:Ajax技术是否即将没落?
Web2.0十大Ajax安全漏洞以及成因
构建支持Ajax的轻量级J2EE框架
一个简单PHP函数和AJAX编制高级RSS聚合器
裸奔的Mashup—如何设计安全的Ajax Mashup

 文章评论


认证培训
今日更新
热门专题       more
相关下载
技术频道导航
产品导航
论坛新帖