JSON(javascript object notation“标记")是一种常用的数据交换格式,与XML类似。其格式为{name:value,...}。逗号相隔的为同级的元素,还可以嵌套包含多层,如{"list":[{"name":"张三","sex":"female"},{"name":"李四","sex":"female"}...]...}。从上可以看出list为下面{"name":"张三","sex":"female"}的父层。它既可以表达一个简单的key/value,也可以表达一个复杂的Map或List,而且它是易于阅读和理解的。
利用jquery请求json类型的数据有很多种方式,在此列出两种。
1.$.getJSON(url,params,function()),利用这一方法可以有效的取出JSON类型的数据,url:取得JSON数据的URL地址,params:所带的参数,如无可以直接不写。function:为返回JSON数据的处理函数。
//如下:利用getJSON函数取得JSON格式的对象数据,再用$.each进行遍历,data.list表示对JSON对象里面的key为list的子对象遍历,index表示下标,item表示每次遍历的那个对象。通过itme.属性名 可以得到该属性值
$.getJSON("testjson!getJson.do",{t:new Date()},function(data){
$.each(data.list,function(index,item){
alert(item.address);
})
2.使用$.ajax()取得json对象。
//其中设置dataType:"json",使得返回来的数据格式为json。如果不添加该条属性,则返回来的为字符串。字符串对象可以通过eval("("+data+")")方法转成json对象,但该方法不推荐使用,对于取数据的操作同上。区分data为JSON对象还是字符串,可以通过alert语句进行打印,如果是Object object就是JSON对象,如果将内容显示出来则为字符串。
$.ajax( {
type : "POST",
url : "testjson!getJson.do",
dataType:"json",
cache:false,
async:false,
data : "",
success : function(data) {
//var object = eval("("+data+")");
$.each(data.list,item){
alert(item.trueName);
})
}
});
struts2对于输出JSON对象有很好的支持,详情可参考:http://yshjava.iteye.com/blog/1333104
转自:http://blog.163.com/for_fun_zz@126/blog/static/16837634520128144380720/
原文链接:https://www.f2er.com/ajax/165653.html