1、JSON(javascript object notation)----js对象的声明(借鉴了js对象的创建语法,故命名为json)
是一种轻量级的数据交换标准,定义浏览器与服务器的数据交换格式。比如将java对象转成js对象(中间就是通过json桥梁)
responsetext:获取到的必须是String类型的数据
轻量级:相对于xml而言,编写更简单,解析速度快
数据交换:将数据转成中间的、与平台无关的格式交给另一方处理,比如将java数据交给json转成js字符串
1)JSON语法
{属性名:属性值,属性名:属性值,属性名:属性值...}
{"name":"zs","age":10,"play":function(){alert(1)}} -------js对象
注:建议属性名加双引号"",属性值如果是字符串类型需要加"",其他的都不需要加
2)java对象如何转成json字符串
* 单个对象转成json
JSONObject.fromObject(obj).toString();
* 多个对象转json
JSONArray.fromObject(obj).toString();
注:Map集合可以当做单个对象去转,建议使用JSONObject转换
3)json字符串如何转成js对象
str.evalJSON(); //需要引入prototype.js文件
2、jQuesy对ajax的支持
语法: $.ajax({key:value,key:value....});
1)常用的key
url:请求地址,
type:请求类型get/post
data:请求参数(“id=1”(字符串格式)或者{"id":1}json对象)
dataType:预期服务器返回的数据类型(可以返回:json/xml/js/html/text...)
success:成功的回调函数
success:function(data,txt){ //data:服务器返回的数据; //txt:状态的描述信息 }
error:失败的回调函数
error:function(xhr,txt){ //xhr:ajax对象;txt:状态的描述信息 }
2)简写方式
$.get(url,[data],[callback],[dataType]);
$.post(url,[data],[callback],[dataType]);
请求地址、请求参数、成功的回调函数、服务器返回的数据类型
给出一个模板:
function f1(){
$.ajax({ "url":"sale.do", "type":"get", "dataType":"json", "success":function(data,txt){ //如果服务器返回的数据是json格式,那么jquery会将其转成对应的js对象赋值给data //data-->js数组对象 var info='TOP3:<br>'; $.each(data,function(index,obj){ //遍历数组 index当前遍历的下标,obj当前遍历的元素 info+='名称:'+obj.name+',价格:'+obj.qty+'<br>'; }); $("table").html(info); }, "error":function(xhr,txt){ } }); }