`
michael_yyz
  • 浏览: 38247 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

JSON技术介绍

    博客分类:
  • js
 
阅读更多

XML ——这种用于表示客户端与服务器间数据交换有效负载的格式,几乎已经成了Web services的同义词。我们知道AJAX技术能够使得每一次请求更加迅捷,对于每一次请求返回的不是整个页面,也仅仅是所需要返回的数据。然而,由于 Ajax和REST技术的出现影响了应用程序架构,这迫使人们开始寻求`XML的替代品,如:JavaScript Object Notation(JSON)。

JSON 作为一种更轻、更友好的 Web services客户端的格式(多采用浏览器的形式或访问 REST风格 Web服务的Ajax应用程序的形式)引起了 Web 服务供应商的注意。通常AJAX通过返回XML格式的数据,然后再通过客户端复杂的JavaScript脚本解析和渲染这些XML格式的数据。 JSON(读Jason)是为了能够使得数据格式成为一种标准,更简单的被JavaScript解析。

本文将阐述JSON在Web services设计中备受推崇的原因,以及它作为XML替代方案的主要优势和局限性。文中还会深入探讨:随着相应的Web 服务客户端选择使用JSON,如何才能便捷地在Java Web services中生成JSON输出。
json的官方文档: http://www.json.org/json-zh.html

JSON的优点


  • 轻量级的数据交换格式
  • 人们读写更加容易
  • 易于机器的解析和生成
  • 能够通过JavaScript中eval()函数解析JSON
  • JSON支持多语言。包括:ActionScript, C, C#, ColdFusion, E, Java, JavaScript, ML, Objective CAML, Perl, PHP, Python, Rebol, Ruby, and Lua.


JSON语法是一种用于传输和生成数据的协定,很类似于C家族的语言,所以很容易被C家族的语言所解析。
对象:对象包含再{}之间
属性:采用Key-Value对来表示。属性之间使用逗号分开。  string : value 
数组:数组存放再[]之间   [ elements ] 
元素:元素之间用逗号分开
值:值可以是字符串,数字,对象,数组,true,false,null

例子:
JSON
{"menu": {  
   "id": "file",
   "value": "File:",  
   "popup": {  
     "menuitem": [ 
       {"value": "New", "onclick": "CreateNewDoc()"}, 
       {"value": "Open", "onclick": "OpenDoc()"},  
       {"value": "Close", "onclick": "CloseDoc()"} ] 
   } 
}}
 XML
 <menu id="file" value="File" > 
    <popup> 
      <menuitem value="New" onclick="CreateNewDoc()" /> 
      <menuitem value="Open" onclick="OpenDoc()" /> 
      <menuitem value="Close" onclick="CloseDoc()" /> 
    </popup> 
 </menu>
 XML 的作用是格式化数据内容。如果我们不用XML还有什么更好的方法吗?这个答案是JSON。介绍JSON之前我先介绍一下JavaScript这门脚本语 言。脚本语言自身有动态执行的天赋。即我们可以把想要执行的语句放在字符串里,通过eval()这个动态执行函数来执行。字符串里的内容会像我们写的脚本 一样被执行。
 <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更新页面信息。
引自:http://www.phphubei.com






分享到:
评论

相关推荐

    Json知识简介+编程知识+技术介绍

    Json知识简介+编程知识+技术介绍;Json知识简介+编程知识+技术介绍;Json知识简介+编程知识+技术介绍;Json知识简介+编程知识+技术介绍;Json知识简介+编程知识+技术介绍;Json知识简介+编程知识+技术介绍;Json知识...

    Java生成json技术比较

    首先,让我们介绍Java中最常用的几个JSON库: 1. **Jackson**: Jackson是Java社区中最流行的JSON处理库之一,它提供了多种方式来序列化和反序列化Java对象到JSON,如`ObjectMapper`。Jackson的优点在于其高效性和...

    json 介绍及资料

    Ajax,即Asynchronous JavaScript and XML,是一种在无需重新加载整个网页的情况下更新部分网页的技术。通过JSON,Struts2可以方便地将服务器端处理的结果以JSON格式返回给前端,然后JavaScript可以解析这些数据并...

    利用Ajax和JSON技术实现对数据库的异步操作

    ### 利用Ajax和JSON技术实现对数据库的异步操作 #### 摘要 本文主要探讨了在ASP.NET框架下运用Ajax与JSON技术来实现对数据库进行异步操作的方法和实现过程。通过具体的实例详细介绍了如何使用这些技术来完成数据库...

    Struts2 ajax json使用介绍

    Ajax(异步JavaScript和XML)技术则为Web应用提供了局部刷新的能力,提高了用户体验。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。在Struts2中,...

    jqury+ajax+json应用介绍

    通过以上介绍,我们可以看出jQuery结合Ajax和JSON技术,在简化前端开发流程方面发挥着重要作用。jQuery不仅提供了丰富的API来简化DOM操作,还通过内置的Ajax支持使得前端与后端的交互更加便捷。此外,JSON作为一种轻...

    001-JSON介绍

    JSON以其简洁的文本格式,简化了数据的序列化和反序列化过程,尤其在JavaScript环境中,解析和生成JSON数据非常直接和高效,极大地推动了AJAX(Asynchronous JavaScript and XML)技术的发展。 JSON的数据结构主要...

    经典ASP读取JSON字符串/生成JSON对象,数组对象等。

    这篇关于“经典ASP读取JSON字符串/生成JSON对象,数组对象等”的知识将详细介绍如何在ASP环境中处理JSON数据。 1. **JSON对象与数组的结构**: JSON对象以大括号{}表示,键值对之间用逗号分隔。键必须是字符串,用...

    Json-handle和jsonview插件

    本文将详细介绍两款Chrome浏览器插件——JSON-handle和jsonview,它们能够帮助开发者实现JSON数据的实时美化和解码。 **JSON-handle插件** JSON-handle是一款专为Chrome设计的插件,主要用于JSON数据的实时解析和...

    ajax+json实例

    **二、JSON介绍** JSON是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。它基于JavaScript的一个子集,数据格式直观,可以直接被JavaScript解析为对象。JSON格式的基本结构包括对象(键值...

    jsonlib需要jar包

    JSON(JavaScript Object Notation)是一种轻量级的数据...此外,随着技术的发展,现在有许多其他的JSON库可供选择,例如Google的Gson库和Jackson库,它们在性能和功能上可能有不同优势,可以根据项目需求进行选择。

    C#封装和解析json

    本教程将详细介绍如何在C#中进行JSON的封装和解析,以帮助开发者更好地理解和应用这些技术。 首先,我们要了解JSON的结构。JSON基于JavaScript的一个子集,它支持以下数据类型:数字、字符串、布尔值、数组、对象...

    Delphi中JSon SuperObject 使用数据集与JSON对象互转.docx

    使用 Json SuperObject 将数据集与 JSON 对象互转是一件非常有用的技术。它可以帮助我们轻松地实现数据之间的通讯与转换。但是,我们需要注意 JSON 对象的格式,并正确地使用 Json SuperObject 将数据集与 JSON 对象...

    json常用方法,json解析

    ### JSON 常用方法与解析 ...此外,还介绍了如何在 AJAX 请求中使用 JSON 数据,以及如何通过自定义 `toJSON` 方法来控制对象的序列化方式。这些知识点对于理解和应用 JSON 在实际开发中至关重要。

    json转lua-table工具

    本文将详细介绍如何使用Python脚本`jsonToLua.py`将JSON数据转换为Lua Table格式,并探讨相关概念和技术。 首先,JSON是一种轻量级的数据交换格式,它采用完全独立于语言的文本格式,但又具有自我描述性,易于人...

    基于Vue的JSON可视化编辑器通过定义JSONSchema直接生成UI界面

    二、JSON Schema介绍 JSON Schema是一种JSON格式的规范,用于定义JSON数据的结构和限制,类似于XML Schema和DTD(文档类型定义)。它可以用来验证JSON数据是否符合规则,同时也可以为代码生成、API文档生成等提供...

    json-lib-2.4 jar 程序文件

    本文将详细介绍`json-lib-2.4 jar`程序文件及其在Java开发中的应用。 `json-lib-2.4 jar`是JSON-Lib的一个版本,它是一个针对Java的开源项目,用于在Java对象和JSON数据之间进行转换。这个版本兼容JDK 15及更高版本...

    dojo与json应用

    ### Dojo与JSON应用详解 #### 一、概述 ...通过以上介绍,我们可以看到Dojo结合自定义的Taglib在处理JSON数据方面提供了非常便捷的方法。开发者可以根据实际需求灵活运用这些标签,实现高效的数据展示和处理。

    技术支持利用JSON数据批量操作数据库(插入、更新)

    本篇文章详细介绍了如何利用JSON数据批量操作数据库(插入、更新),包括JSON数据的解析、数据库的连接与操作以及异常处理等方面的知识点。通过这些知识点的学习,读者可以更好地理解和应用相关的技术,在实际项目...

    json的介绍(二)----json在web的使用

    3. **AJAX与JSON**:在Web应用中,通常使用Ajax技术异步地从服务器获取JSON数据。例如,使用jQuery库的`$.ajax()`或`$.getJSON()`方法,可以方便地发起JSON数据请求并处理响应。 4. **JSONP(JSON with Padding)...

Global site tag (gtag.js) - Google Analytics