`
hcmfys
  • 浏览: 357513 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

json ajax

阅读更多
版权所有,转载请注明,来自http://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:
<!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><HTML>
<HEAD>
<TITLE>eval example 1</TITLE>
</HEAD>
<BODY>
<script>
         str 
= "alert('hello')";
         eval(str);

</script>
</BODY>
</HTML>

打开页面会弹出hello窗口。

我们可以在字符串中放任何脚本语句,包括声明语句:
<!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><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,如下:

<!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><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呢:
<!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->[
 {
   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更新页面信息。

  • JSON的格式

JSON的基本格式如下,图片来自json.org:
对象是属性、值对的集合。一个对象的开始于"{",结束于"}"。每一个属性名和值间用":"提示,属性间用","分隔

数组是有顺序的值的集合。一个数组开始于"[",结束于"]",值之间用","分隔。


值可以是引号里的字符串、数字、true、false、null,也可以是对象或数组。这些结构都能嵌套

字符串的定义和C或Java基本一致。


数字的定义也和C或Java基本一致。

分享到:
评论

相关推荐

    Json Ajax

    Ajax 的 Json

    json.rar_Highstock json_JSON_ajax json_json Ajax Java

    在"json.rar_Highstock json_JSON_ajax json_json Ajax Java"这个主题中,我们主要探讨的是JSON与Highstock、AJAX以及Java的结合应用。Highstock是Highcharts的一个扩展,专门用于绘制时间序列数据的股票或一般金融...

    java对象转Json AjaxJson数据交换 需要用到的所有包

    首先,我们需要引入相关的库,如标题所示,"java对象转Json AjaxJson数据交换"涉及到的几个jar包可能包括Jackson、Gson、Fastjson等流行的Java JSON库。这些库提供了将Java对象序列化为JSON字符串以及反序列化JSON回...

    struts2jsonajax

    在"struts2jsonajax"项目中,我们看到Struts2与JSON和AJAX进行了整合。Struts2通过Action和Result来处理用户的请求,并返回响应。在这个整合中,Struts2 Action将处理业务逻辑后,会以JSON格式返回数据,而非传统的...

    Json Ajax-NetJsonTest

    JSON(JavaScript Object Notation)和AJAX(Asynchronous JavaScript and XML)是Web开发中的两个重要概念,它们在创建动态和交互式的网页应用中扮演着关键角色。在这个名为"Json Ajax-NetJsonTest"的项目中,我们...

    struts2 json Ajax 整合所需全部jar包.zip

    Struts2、JSON和Ajax是Web开发中的三个关键组件,它们在构建动态、交互式的Web应用程序中发挥着重要作用。Struts2是一个强大的MVC(Model-View-Controller)框架,用于组织和管理Java web应用程序的结构。JSON...

    struts2 json ajax示例 google提示

    在这个"struts2 json ajax示例 google提示"中,我们将探讨如何在Struts2框架中利用JSON和AJAX技术实现Google搜索建议那样的动态数据加载功能。 首先,我们需要在Struts2项目中集成JSON插件。Struts2 JSON插件提供了...

    js json ajax jsp 跨域訪問的例子

    "js json ajax jsp 跨域訪問的例子"这个主题涉及到JavaScript、JSON、AJAX以及JSP等关键技术,它们在处理跨域问题时各自扮演着重要角色。下面我们将详细探讨这些技术及其在跨域访问中的应用。 首先,JavaScript(JS...

    json ajax ajax框架

    虽然XML最初是AJAX数据传输的一部分,但实际应用中,JSON因其简洁、易读和高效的特点,已经成为AJAX通信中更常用的数据格式。AJAX通过创建XMLHttpRequest对象来实现与服务器的异步交互,通常用于实现网页的无刷新...

    Struts 2中启用json ajax支持

    而JSON(JavaScript Object Notation)作为一种轻量级的数据交换格式,因其简洁和高效,成为了AJAX通信中数据传输的主要选择。Struts 2框架提供了内置的支持来处理JSON和AJAX请求,使得开发者可以轻松地将这些技术...

    JsonAjax(有教程,有实例,有文档)

    这个“JsonAjax”压缩包很可能包含了一系列教程、实例以及相关文档,旨在帮助学习者理解和掌握这两种技术。 **JSON:数据交换格式** JSON是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成...

    在Struts 2中使用JSON Ajax支持

    ### 在Struts 2中使用JSON Ajax支持的关键知识点 #### 一、Struts 2与JSON Ajax集成概览 在Web开发中,Struts 2框架因其强大的MVC架构支持和丰富的插件生态,被广泛应用于构建动态网页应用。而随着Ajax技术的发展...

    ajax+json实例

    **Ajax+JSON 实例详解** 在现代Web开发中,AJAX(Asynchronous JavaScript and XML)技术已经成为提升用户体验的重要工具,它允许网页在不刷新整个页面的情况下与服务器进行数据交互。结合JSON(JavaScript Object ...

    jquery Json Ajax搜索与分页效果代码

    jquery Json Ajax搜索与分页效果代码,无刷新操作的一个范例,特别是无刷新分页,很多朋友都很喜欢采用,配合Json,这是一个非常常用的方法,希望通过本示例让你对jQuery和Json的使用有一个更深入的了解。

    php json ajax

    然而,由于JSON格式的简洁性和易于处理,现在在AJAX中更常使用JSON而非XML。 在这个"php json ajax"的例子中,我们可以假设以下流程: 1. **服务器端(PHP)**:PHP脚本接收客户端请求,可能是一个POST或GET请求。...

    java json ajax util

    Java作为后端开发的主要语言,提供了多种处理JSON和AJAX的工具。在这个项目中,我们看到了几个关键的Java类,它们可能是用于处理JSON和辅助进行AJAX请求的实用工具。 1. **StreamUtil.java**:这个类可能包含了对...

    快速学习jsonajax

    JSON(JavaScript Object Notation)和AJAX(Asynchronous JavaScript and XML)是Web开发中的两个重要概念,它们在构建动态和交互式的网页应用中起到关键作用。 JSON是一种轻量级的数据交换格式,它允许数据以键值...

    struts2 jquery json ajax 三级联动菜单

    Struts2、jQuery、JSON和Ajax是Web开发中的关键技术,它们在构建动态、交互式的用户界面方面发挥着重要作用。在“三级联动菜单”的场景中,这些技术被巧妙地结合在一起,实现了多级选择的联动效果。 首先,Struts2...

    前台ajax与后台json传递

    "前台Ajax与后台Json传递"这个主题就是关注如何高效地实现这一交互过程。Ajax(Asynchronous JavaScript and XML)技术允许我们在不刷新整个页面的情况下,实现局部数据的更新,而Json(JavaScript Object Notation...

    S2SH SSH2 STRUTS SPRING HIBERNATE JSON AJAX 环境 精简 JAR包

    S2SH SSH2 STRUTS SPRING HIBERNATE JSON AJAX 环境 精简 JAR包 架包 炸包 自带例子 自带ajax下拉联动例子 自带oracle见表语句 导入建表即可运行 查看效果 超级精简环境 搭建 SSH2 S2SH环境 直接导入!! 杀人越货...

Global site tag (gtag.js) - Google Analytics