JSON进阶(一)
JSON简介
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式易于人阅读和编写同时也易于机器解析和生成它基于, 的一个子集 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等)这些特性使JSON成为理想的数据交换语言。
(详细请看我的上一篇文章)
JSON与java各种数据的交换
在做以下步骤之前,请到这个地主下载json.js
http://www.json.org/json.js
一、 字符串 ---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 '1.jsp' starting page</title>
6 <script type="text/javascript" src="js/json.js"></script>
7 </head>
8 <body>
9 <script type="text/javascript">
10 function myEval() {
11 var str = '{ "name": "Violet", "occupation": "character" }';
12 var obj = eval('(' + str + ')');
13 alert(obj.name);
14 }
15 </script>
16 <input type="button" onclick="myEval()" value="使用这个script" />
17 </body>
18 </html>
19
二、 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 '1.jsp' starting page</title>
6 <script type="text/javascript" src="js/json.js"></script>
7 </head>
8 <body>
9 <script type="text/javascript">
10 function test()
11 {
12 var myJSONtext =
13 {
14 "bindings":
15 [
16 {"ircEvent": "PRIVMSG", "method": "newURI", "regex": "^http://.*"},
17 {"ircEvent": "PRIVMSG", "method": "deleteURI", "regex": "^delete.*"},
18 {"ircEvent": "PRIVMSG", "method": "randomURI", "regex": "^random.*"}
19 ]
20 };
21 var myObject = eval(myJSONtext);
22 alert("对象长度:"+myObject.bindings.length);
23 for(var i=0;i<myObject.bindings.length;i++){
24 alert(myObject.bindings[i].method);
25 }
26 }
27 </script>
28 <input type="button" onclick="test()" value="使用这个script" />
29 </body>
30 </html>
31
三、 List---json字符串
1 import java.util.ArrayList;
2 import java.util.List;
3 import net.sf.json.JSONArray;
4 public class test {
5 public static void main(String[] args) {
6
7 boolean[] boolArray = new boolean[]{true,false,true};
8 JSONArray jsonArray1 = JSONArray.fromObject( boolArray );
9 System.out.println( jsonArray1 );
10 // prints [true,false,true]
11
12 List list = new ArrayList();
13 list.add( "first" );
14 list.add( "second" );
15 JSONArray jsonArray2 = JSONArray.fromObject( list );
16 System.out.println( jsonArray2 );
17 // prints ["first","second"]
18
19 JSONArray jsonArray3 = JSONArray.fromObject( "['json','is','easy']" );
20 System.out.println( jsonArray3 );
21 }
22 }
23
四、 Map ----json字符串
1 import java.util.HashMap;
2 import java.util.Map;
3 import net.sf.json.JSONObject;
4 public class test {
5 public static void main(String[] args) {
6 Map<String, Object> map = new HashMap();
7 map.put( "name", "json" );
8 map.put( "bool", Boolean.TRUE );
9
10 map.put( "int", new Integer(1) );
11 map.put( "arr", new String[]{"a","b"} );
12 map.put( "func", "function(i){ return this.arr[i]; }" );
13 JSONObject json = JSONObject.fromObject( map );
14 System.out.println(json);
15 }
16 }
17
五、 Javabeans ---json字符串
public class JSONBean
{
private int row ;
private int col ;
private String value ;
public int getRow() {
return row;
}
public void setRow(int row) {
this.row = row;
}
public int getCol() {
return col;
}
public void setCol(int col) {
this.col = col;
}
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
}
java代码:
1 List<JSONBean> l=new ArrayList<JSONBean>();
2 JSONBean jb=new JSONBean();
3 jb.setCol(1);
4 jb.setRow(1);
5 jb.setValue("huxl");
6
7 JSONBean jb2=new JSONBean();
8 jb2.setCol(2);
9 jb2.setRow(2);
10 jb2.setValue("ryp");
11
12 l.add(jb);
13 l.add(jb2);
14
15 JSONArray ja = JSONArray.fromObject(l);
16 System.out.println( ja.toString() );
17
以上就是JSON与java的数据交互,有不全的或是不对的地方请高手指教!
posted on 2009-04-24 09:22
重庆理工小子 阅读(2854)
评论(0) 编辑 收藏 所属分类:
ajax编程