shenang博客技术文档


理论不懂就实践,实践不会就学理论!

posts - 35,comments - 55,trackbacks - 0
 

小试json

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

JSON的规则很简单: 对象是一个无序的“‘名称/值’对”集合。一个对象以“{”(左括号)开始,“}”(右括号)结束。每个“名称”后跟一个“:”(冒号);“‘名称/值’ 对”之间使用“,”(逗号)分隔。

还有一些其它的规则,如数组等,具体请看.

http://www.json.org/json-zh.html

需导入的包:

Json包: json-lib.jar开发包使用

依赖包:
commons-beanutils.jar;
commons-httpclient.jar;
commons-lang.jar;
ezmorph.jar;
morph-1.0.1.jar;

一、首先,来看一个简单的json数据例子

代码如下:

 1 <%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
 2 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
 3 <html>
 4   <head>
 5     <title>My JSP 'index.jsp' starting page</title>
 6     <script type="text/javascript">
 7     function showJSON(){    
 8     var user =     
 9     {     
10         "username":"shenang",    
11         "age":20,    
12         "info": { "tel""520""cellphone""520520"},    
13         "address":    
14             [    
15                 {"city":"beijing","postcode":"222333"},    
16                 {"city":"newyork","postcode":"555666"}    
17             ]    
18     }    
19         
20     //alert("name:"+user.username);    
21     // alert("age:"+user.age); 
22     //alert("tel:"+user.info.tel);    
23     //alert("cell:"+user.info.cellphone);    
24     //alert("add1:"+user.address[0].city);    
25     //alert("add2:"+user.address[0].postcode); 
26     alert("name:"+user.username+"\r\r"+"age:" + user.age);
27         
28 }    
29     </script>
30   </head>
31     <body>
32   <input type="button" onclick="showJSON()" value="使用这个script"/> 
33   </body>
34 </html>
35 

 

也可对对象中的值进行修改,如下:

User.username=”json”;

Alert(“username:”+json);

 

二、一个更深入的例子(对上面的例子进行改进)

如果我们的数据更加复杂,那么得将几个规则综合起来用,将数组和对象有机的结合,达到需求。

修改后的代码:

 1 <%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
 2 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
 3 <html>
 4     <head>
 5         <title>My JSP 'MyJsp.jsp' starting page</title>
 6 <script type="text/javascript">
 7     function showJSON(){    
 8            var user = [
 9           {"username":"json","age":20,"info":{"tel":"520","cellphone":"520520"}, "add":"beijin"},
10            {"username":"shenang","age":21"info":{"tel":"521","cellphone":"521521"}, "add":"shanghui"},
11            {"username":"you","age":22"info":{"tel":"522","cellphone":"522522"}, "add":"chongqing"}
12              ];
13          alert(user[0].info.tel);
14          alert(user[2].username)
15 }
16 </script>
17     </head>
18     <body>
19     <input type="button" onclick="showJSON()" value="使用这个script"/> 
20     </body>
21 </html>
22 

 

除了使用"."引用属性外,我们还可以使用下面语句:

Alert(user[0][“info”][“tel”])或者alert(user[0].into[“tel”])

总结:

· 现在读者应该对JSON的使用有点认识了,归纳为以下几点:

· 对象是属性、值对的集合。一个对象的开始于“{”,结束于“}”。每一个属性名和值间用“:”提示,属性间用“,”分隔。

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

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

· 字符串和数字的定义和CJava基本一致。

同时可以参考:

http://www.cnblogs.com/Truly/archive/2006/12/31/608896.html

http://www.javaeye.com/topic/71343

http://p-x1984.javaeye.com/blog/314168

http://www.json.org/json-zh.html

posted on 2009-04-23 13:50 重庆理工小子 阅读(1588) 评论(1)  编辑  收藏 所属分类: ajax编程

FeedBack:
# re: 深入浅出Json
2009-04-23 14:55 | HiMagic!
Welcome to JSON world.  回复  更多评论
  

只有注册用户登录后才能发表评论。


网站导航: