`
dahuilang
  • 浏览: 10720 次
  • 性别: Icon_minigender_1
  • 来自: 烟台
社区版块
存档分类
最新评论
阅读更多
JSON (JavaScript Object Notation)一种简单的数据格式,比xml更轻巧。 JSON 是 JavaScript 原生格式,这意味着在 JavaScript 中处理 JSON 数据不需要任何特殊的 API 或工具包。
JSON的规则很简单: 对象是一个无序的“‘名称/值’对”集合。一个对象以“{”(左括号)开始,“}”(右括号)结束。每个“名称”后跟一个“:”(冒号);“‘名称/值’ 对”之间使用“,”(逗号)分隔。具体细节参考http://www.json.org/json-zh.html

举个简单的例子:

js 代码
1.function showJSON() {  
2.    var user =   
3.    {   
4.        "username":"andy",  
5.        "age":20,  
6.        "info": { "tel": "123456", "cellphone": "98765"},  
7.        "address":  
8.            [  
9.                {"city":"beijing","postcode":"222333"},  
10.                {"city":"newyork","postcode":"555666"}  
11.            ]  
12.    }  
13.      
14.    alert(user.username);  
15.    alert(user.age);  
16.    alert(user.info.cellphone);  
17.    alert(user.address[0].city);  
18.    alert(user.address[0].postcode);  
19.}  
这表示一个user对象,拥有username, age, info, address 等属性。

同样也可以用JSON来简单的修改数据,修改上面的例子

js 代码
1.function showJSON() {  
2.    var user =   
3.    {   
4.        "username":"andy",  
5.        "age":20,  
6.        "info": { "tel": "123456", "cellphone": "98765"},  
7.        "address":  
8.            [  
9.                {"city":"beijing","postcode":"222333"},  
10.                {"city":"newyork","postcode":"555666"}  
11.            ]  
12.    }  
13.      
14.    alert(user.username);  
15.    alert(user.age);  
16.    alert(user.info.cellphone);  
17.    alert(user.address[0].city);  
18.    alert(user.address[0].postcode);  
19.      
20.    user.username = "Tom";  
21.    alert(user.username);  
22.}  
JSON提供了json.js包,下载http://www.json.org/json.js 后,将其引入然后就可以简单的使用object.toJSONString()转换成JSON数据。

js 代码
1.function showCar() {  
2.    var carr = new Car("Dodge", "Coronet R/T", 1968, "yellow");  
3.    alert(carr.toJSONString());  
4.}  
5. 
6.function Car(make, model, year, color)       {  
1.     this.make  =  make;  
2.     this.model  =  model;  
3.     this.year  =  year;  
4.     this.color  =  color;  
5.}  
可以使用eval来转换JSON字符到Object

js 代码
1.function myEval() {  
2.    var str = '{ "name": "Violet", "occupation": "character" }';  
3.    var obj = eval('(' + str + ')');  
4.    alert(obj.toJSONString());  
5.}  
或者使用parseJSON()方法

js 代码
1.function myEval() {  
2.    var str = '{ "name": "Violet", "occupation": "character" }';  
3.    var obj = str.parseJSON();  
4.    alert(obj.toJSONString());  
5.}  
下面使用prototype写一个JSON的ajax例子。

先写一个servlet (我的是servlet.ajax.JSONTest1.java)就写一句话
java 代码
1.response.getWriter().print("{ \"name\": \"Violet\", \"occupation\": \"character\" }"); 
再在页面中写一个ajax的请求

js 代码
1.function sendRequest() {  
2.    var url = "/MyWebApp/JSONTest1";  
3.    var mailAjax = new Ajax.Request(  
4.        url,  
5.        {  
6.            method: 'get',  
7.            onComplete: jsonResponse  
8.        }  
9.    );  
10.}  
11. 
12.function jsonResponse(originalRequest) {  
1.    alert(originalRequest.responseText);  
2.    var myobj = originalRequest.responseText.parseJSON();  
3.    alert(myobj.name);  
4.}  
prototype-<st1:chsdate w:st="on" isrocdate="False" islunardate="False" day="30" month="12" year="1899">1.5.1</st1:chsdate>.js中提供了JSON的方法,String.evalJSON(), 可以不使用json.js, 修改上面的方法

js 代码
1.function jsonResponse(originalRequest) {  
2.    alert(originalRequest.responseText);  
3.    var myobj = originalRequest.responseText.evalJSON(true);  
4.    alert(myobj.name);  
5.}  
JSON还提供了java的jar包 http://www.json.org/java/index.html API也很简单,下面举个例子

在javascript中填加请求参数

js 代码
1.function sendRequest() {  
2.    var carr = new Car("Dodge", "Coronet R/T", 1968, "yellow");  
3.    var pars = "car=" + carr.toJSONString();  
4. 
5.    var url = "/MyWebApp/JSONTest1";  
6.    var mailAjax = new Ajax.Request(  
7.        url,  
8.        {  
9.            method: 'get',  
10.            parameters: pars,  
11.            onComplete: jsonResponse  
12.        }  
13.    );  
14.}  
使用JSON请求字符串就可以简单的生成JSONObject并进行解析,修改servlet添加JSON的处理(要使用json.jar)

java 代码
1.private void doService(HttpServletRequest request, HttpServletResponse response) throws IOException {  
2.        String s3 = request.getParameter("car");  
3.        try {  
4.            JSONObject jsonObj = new JSONObject(s3);  
5.            System.out.println(jsonObj.getString("model"));  
6.            System.out.println(jsonObj.getInt("year"));  
7.        } catch (JSONException e) {  
8.            e.printStackTrace();  
9.        }  
10.        response.getWriter().print("{ \"name\": \"Violet\", \"occupation\": \"character\" }");  
11.    }  
同样可以使用JSONObject生成JSON字符串,修改servlet

java 代码
1.private void doService(HttpServletRequest request, HttpServletResponse response) throws IOException {  
2.        String s3 = request.getParameter("car");  
3.        try {  
4.            JSONObject jsonObj = new JSONObject(s3);  
5.            System.out.println(jsonObj.getString("model"));  
6.            System.out.println(jsonObj.getInt("year"));  
7.        } catch (JSONException e) {  
8.            e.printStackTrace();  
9.        }  
10.          
11.        JSONObject resultJSON = new JSONObject();  
12.        try {  
13.            resultJSON.append("name", "Violet")  
14.                      .append("occupation", "developer")  
15.                      .append("age", new Integer(22));  
16.            System.out.println(resultJSON.toString());  
17.        } catch (JSONException e) {  
18.            e.printStackTrace();  
19.        }  
20.        response.getWriter().print(resultJSON.toString());  
21.    }  
js 代码
1.function jsonResponse(originalRequest) {  
2.    alert(originalRequest.responseText);  
3.    var myobj = originalRequest.responseText.evalJSON(true);  
4.    alert(myobj.name);  
5.    alert(myobj.age);  
6.} 
参考

http://www.json.org/js.html

http://www.blogjava.net/Jkallen/archive/2006/03/28/37905.html

http://www.json.org/

http://www.prototypejs.org/learn/json

http://www.json.org/java/index.html

http://www.ibm.com/developerworks/cn/web/wa-ajaxintro10/index.html
分享到:
评论

相关推荐

    json.js,json2.js 和 json.jar 下载

    3. **JSON与JavaScript对象**:在JavaScript中,JSON对象可以直接转换为JavaScript对象,反之亦然,这得益于JavaScript语言的特性。 4. **安全性**:在处理用户输入的JSON数据时,需要注意JSON Hijacking和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) 更多详情请参考博文: ...

    JSON与js对象序列化实例详解.docx

    总之,JSON与JavaScript对象之间的序列化和反序列化是数据交换的核心,它简化了客户端与服务器之间的数据交互,同时也提高了数据的可移植性和可读性。了解并熟练掌握JSON的使用,对于任何Web开发者来说都是至关重要...

    JS中Json对象

    ### JS中Json对象 #### JSON概述 JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。JSON是基于JavaScript的一个子集,采用完全独立于编程语言的文本...

    JSONjs包json.js

    json.js json.js json.js json.js json.js json.js json.js json.js json.js json.js json.js json.js json.js json.js json.js json.js json.js

    Jquery.json.js

    总结,`jQuery.json.js`这个文件可能是jQuery的一个扩展插件,专门用于增强jQuery对JSON的支持。在实际项目中,通过使用jQuery提供的这些方法,开发者可以轻松地处理JSON数据,实现与服务器的高效通信。同时,理解...

    javascript json数据解析工具json2.js

    在JavaScript中,JSON主要用于对象与字符串之间的转换。原生的JSON对象在ECMAScript 5及以上版本中被引入,但一些旧的浏览器如IE6和7并不支持。这时,json2.js就显得尤为重要,因为它提供了JSON.parse()和JSON....

    json比对js插件

    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,被广泛用于Web应用程序之间传递数据。它基于JavaScript的一个子集,格式简洁且易于读写,同时也易于机器解析和生成。在进行开发时,我们常常需要对...

    json2.js json.js

    总结来说,json2.js是一个解决旧版JavaScript引擎中JSON支持问题的库,提供JSON.parse()和JSON.stringify()等方法,使得在不支持JSON的环境中也可以进行JSON数据的解析和序列化操作。随着浏览器技术的发展,它的使用...

    jquery.json2xml.js和jquery.xml2json.js

    **jQuery的JSON与XML转换** `jquery.json2xml.js` 脚本允许开发者将JSON对象转换为XML字符串。在JavaScript中,你可以通过创建一个JSON对象,然后调用这个插件的方法,将其转换成XML格式。这样可以方便地将JSON数据...

    json2.js包

    `json2.js`是一个JavaScript库,由 Douglas Crockford 创建,主要用于在不支持JSON的旧版浏览器中实现JSON的解析和序列化。 ### JSON2.js 的主要功能 1. **JSON解析**:`json2.js` 提供了一个`JSON.parse()`方法,...

    Json Js 文件包下载 josn2.js、json.js、 json_parse.js、json_parse_state.js、cycle.js

    标题中的“Json Js 文件包下载”指的是这个压缩包包含了一系列与JSON相关的JavaScript文件。这些文件可能是用于处理JSON数据的库或者工具,帮助开发者在JavaScript环境中进行数据的序列化和反序列化操作。 具体到...

    json,json.js下载 客户端转换

    "json.js" 可能是一个JavaScript库,比如著名的`json2.js`或`jQuery`等,它们提供了将JavaScript对象转换为JSON字符串以及从JSON字符串解析成JavaScript对象的功能。 在JavaScript中,原生支持JSON对象,提供了`...

    纯javascript实现json与对象的互相转换项目

    这个项目专注于使用纯JavaScript来实现JSON与JavaScript对象之间的转换,这对于数据传输、存储以及在前端和后端之间进行通信至关重要。 首先,我们需要理解JSON的基本结构。JSON是一种文本格式,主要由键值对组成,...

    json包和js文件

    在本主题中,我们主要讨论的是JSON与JavaScript的关系以及如何在JavaScript环境中使用jQuery处理JSON数据。 `jQuery-3.1.1.min.js`是jQuery库的一个版本,它是一个广泛使用的JavaScript库,提供了许多便利的DOM操作...

    JSON-js-master

    JSON-js-master 是一个开源项目,主要关注于JSON(JavaScript Object Notation)在JavaScript中的实现与应用。JSON是一种轻量级的数据交换格式,它基于JavaScript的一个子集,易于人阅读和编写,同时也易于机器解析...

    json2.js 亲测可用

    JSON2.js是一个JavaScript库,由Douglas Crockford开发,主要目的是为了在旧版本的JavaScript引擎中提供完整的JSON支持。 在JavaScript中,JSON对象是原生支持的,但在一些较老的浏览器或环境中,如IE6和IE7,它们...

    JSON2.JS JSON.JS JSON_PARSE.JS

    json2.js: This file creates a JSON property in the global object, if there isn't already one, setting its value to an object containing a stringify method and a parse method. The parse method uses ...

    json.js和json2.js

    标题中的“json.js”和“json2.js”可能是指两个不同的JSON解析和序列化库,用于JavaScript环境。这两个文件可能是为了在浏览器环境中处理JSON数据而提供的工具。下面分别对它们进行详细的解释: 1. **json.js**:...

Global site tag (gtag.js) - Google Analytics