`

javascript 解析json

阅读更多
JSON技术介绍
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更新页面信息。
分享到:
评论

相关推荐

    kettle解析json串

    根据提供的信息,我们可以深入探讨如何在Kettle中解析JSON串,并连接数据库进行数据处理。本文将详细介绍使用Java库解析JSON的基本方法以及如何在Kettle环境中实现这一过程。 ### Kettle与JSON解析概述 #### 1. **...

    比较详细的关于javascript 解析json的代码.docx

    ### JavaScript解析JSON的知识点 #### 一、JSON简介与特点 JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。相比于XML,JSON的数据格式更为简洁,...

    JavaScript解析JSON数据示例

    本文实例讲述了JavaScript解析JSON数据。分享给大家供大家参考,具体如下: JSON数据是一种常用的数据格式,解析方式也比较简单,特别是由于JavaScript原生就支持JSON,所以JavaScript能够更好的解析JSON。 &lt;!...

    javascript解析json数据的3种方式

    ### JavaScript解析JSON数据的三种方式 在Web开发中,JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。在JavaScript中,...

    Javascript解析JSON数据

    JSON (JavaScript Object Notation)一种简单的数据格式,比xml更轻巧。 JSON 是 JavaScript 原生格式,这意味着在 JavaScript 中处理 JSON 数据不需要任何特殊的 API 或工具包。

    js解析json代码

    ### JavaScript解析JSON #### 使用`eval()`方法 提供的代码示例中使用了`eval()`函数来解析JSON字符串。具体代码如下: ```javascript var data1 = "[{value:'3017',label:'3017:лũҩҺģжģȼ'},{value:'3018...

    PB解析json,解析JSON案例,解析jsondemo

    标题中的“PB解析json,解析JSON案例,解析jsondemo”表明了本文主要关注的是PowerBuilder(简称PB)如何处理JSON数据。在现代软件开发中,JSON(JavaScript Object Notation)是一种广泛使用的轻量级数据交换格式,...

    javascript解析json格式的数据方法详解

    - 使用 `eval()` 函数:`eval()` 能够执行字符串中的JavaScript代码,因此可以解析JSON字符串,但这非常不安全,因为它可能会执行潜在的恶意代码。如以下示例所示: ```javascript var jsonStr = '{"key":"value...

    JavaScript解析json格式数据简单示例

    在JavaScript中,JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它基于JavaScript的一个子集,易于人阅读和编写,同时也易于机器解析和生成。在这个示例中,我们看到一个存储图片路径的JSON数组,...

    json3.js 【JS / JavaScript 中解析JSON的js包,JSON官方的JSON解析包】

    json3.js 【JS / JavaScript 中解析JSON的js包,JSON官方的JSON解析包】。JavaScript中解析JSON的js包,页面中引入json3.js,即可使用。 使用方法:JSON.parse(str), JSON.stringify(obj) 更多详情请参考博文: ...

    JavaScript解析JSON格式数据的方法示例

    综上所述,JavaScript解析JSON格式数据的方法主要依靠`JSON.stringify()`和`JSON.parse()`这两个核心函数,同时需要注意代码安全性问题,适当时候借助在线工具进行辅助开发,并结合JavaScript其他高级特性进行复杂...

    PB9生成和解析JSON

    在PB9中处理JSON数据,通常涉及到两个关键步骤:生成JSON字符串和解析JSON字符串。 一、生成JSON 在PB9中生成JSON,你需要将数据结构转换为JSON格式。这通常通过编写函数或者利用第三方库来实现。PB9本身并不内置...

    js 解析 json 生成树

    2. JavaScript解析JSON:在JavaScript中,`JSON.parse()`方法用于将JSON字符串转换为JavaScript对象。例如: ```javascript let jsonString = '{"name":"John", "age":30, "city":"New York"}'; let jsonObject =...

    javascript解析json实例详解

    在JavaScript中解析JSON主要涉及两个核心函数:`JSON.parse()` 和 `eval()`。本文将深入讲解这两种方法以及相关的使用场景。 1. `JSON.parse()` `JSON.parse()` 是JavaScript内置的函数,用于将一个JSON字符串转换...

    struts2.3.20生成返回json 浏览器解析json

    Struts2.3.20 是 Apache...通过配置Action和Result,以及在客户端使用JavaScript解析JSON,可以有效地处理和展示来自服务器的数据。这个过程中,理解JSON插件的工作原理、Action的配置以及JavaScript的JSON处理是关键。

Global site tag (gtag.js) - Google Analytics