alert(data);
之后 如图所示
json可以转为javaScript对象,然后在循环中取对象的属性 :D
json说白了就是一个js的二维数组,你可以对二维数组进行任意操作
比如说做一个for循环,取出各个对象
jquery解析JSON的方式很简单:
对于服务器返回的JSON字符串,如果jquery异步请求没做类型说明,或者以字符串方式接受,那么需要做一次对象化处理,方式不是太麻烦,就是将该字符串放于eval()中执行一次:
[code="java"]
var dataObj=eval("("+data+")");//转换为json对象
alert(dataObj.root.length);// 输出root的子对象数量
$.each(dataObj.root,fucntion(idx,item){
if(idx==0){
return true;
}
//输出每个root子对象的名称和值
alert("name:"+item.name+",value:"+item.value);
})
[/code]
这里特别需要注意的是eval()方法是动态执行其中字符串(可能是js脚本)的,这样很容易会造成系统的安全问题。所以可以采用一些规避了eval()的第三方客户端脚本库,比如JSON in JavaScript就提供了一个不超过3k的脚本库。
但如果jquery异步请求将type设为“json”,或者利用$.getJSON()方法获得服务器返回,那么就不需要eval()方法了,因为这时候得到的结果已经是json对象了,只需直接调用该对象即可,这里以$.getJSON方法为例说明数据处理方法:
[code="java"]
$.getJSON("/wasd/xy.action",{param:"abc"},function(data){
$.each(data.root,function(idx,item){
if(idx==0){
return true;//同countinue,返回false同break
}
alert("name:"+item.name+",value:"+item.value);
});
});
[/code]
[code="html"]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">