benx 发表于 2013-1-23 02:05:31

JQuery配合Ajax、JSON使用

JSON (JavaScript Object Notation)一种简单的数据格式,比xml更轻巧。 JSON 是 JavaScript 原生格式,这意味着在 JavaScript 中处理 JSON 数据不需要任何特殊的 API 或工具包。
JSON的规则很简单: 对象是一个无序的“‘名称/值’对”集合。一个对象以“{”(左括号)开始,“}”(右括号)结束。每个“名称”后跟一个“:”(冒号);“‘名称/值’ 对”之间使用“,”(逗号)分隔。具体细节参考http://www.json.org/json-zh.html
举个简单的例子:
function showJSON() {         var user =          {            "username":"andy",             "age":20,             "info": { "tel": "123456", "cellphone": "98765"},             "address":               [                     {"city":"beijing","postcode":"222333"},                     {"city":"newyork","postcode":"555666"}               ]         }                  alert(user.username);         alert(user.age);         alert(user.info.cellphone);         alert(user.address.city);         alert(user.address.postcode);   }


在使用JSON之前先从http://www.json.org/java/下载java文件
1、MAP使用
后台:
Map map = new HashMap();map.put("name", "xj");map.put("age", 24);JSONObject json = new JSONObject(map);response.getWriter().println(json);response.getWriter().flush();

前台:
function query() {$.ajax( {url : "servlet/Hello",global : false,type : "POST",data : ( {Name : "xiongjin"}),dataType : "html",success : function(data){var temp = jQuery.parseJSON(data);alert(temp.name+temp.age);    }})}

2、List
后台:
List list = new ArrayList();Map map = new HashMap();map.put("name", "xj");map.put("age", 24);Map map2 = new HashMap();map2.put("name", "xj1");map2.put("age", 241);list.add(map);list.add(map2);JSONArray array = new JSONArray(list);response.getWriter().println(array);response.getWriter().flush();

前台:
function query() {$.ajax( {url : "servlet/Hello",global : false,type : "POST",data : ( {Name : "xiongjin"}),dataType : "html",success : function(data){var temp = jQuery.parseJSON(data);for(var i =0;i<temp.length;i++){   alert(temp.name+temp.age);}    }})}


3、bean
后台:
//注意bean必须是public类型,或者修改JSONObjectpublic class Person {private String name;private String age;public Person(String name, String age) {super();this.name = name;this.age = age;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getAge() {return age;}public void setAge(String age) {this.age = age;}}Person per = new Person("熊劲","27");JSONObject json = new JSONObject(per);response.getWriter().println(json);response.getWriter().flush();

前台:
function query() {$.ajax( {url : "servlet/Hello",global : false,type : "POST",data : ( {Name : "xiongjin"}),dataType : "html",success : function(data){var temp = jQuery.parseJSON(data);alert(temp.name+temp.age);    }})}
页: [1]
查看完整版本: JQuery配合Ajax、JSON使用