jquery json(jquery遍历json)
很多朋友对于jquery json和jquery遍历json不太懂,今天就由小编来为大家分享,希望可以帮助到大家,下面一起来看看吧!
jQuery怎么解析Json字符串
一、jQuery解析Json数据格式:
使用这种方法,必须在Ajax请求中设置参数:
1、dataType:"json"
获取通过回调函数返回的数据并解析得到我们想要的值,看源码:
jQuery.ajax({
url:full_url,
dataType:"json",
success:function(results){
alert(result.name);
}
});jquery异步请求将type(一般为这个配置属性)设为“json”,或者利用$.getJSON()方法获得服务器返回,那么就不需要eval()方法了,因为这时候得到的结果已经是json对象了,只需直接调用该对象即可,这里以$.getJSON方法为例:
vardata="
{
root:
[
{name:'1',value:'0'},
{name:'6101',value:'北京市'},
{name:'6102',value:'天津市'},
{name:'6103',value:'上海市'},
{name:'6104',value:'重庆市'},
{name:'6105',value:'渭南市'},
{name:'6106',value:'延安市'},
{name:'6107',value:'汉中市'},
{name:'6108',value:'榆林市'},
{name:'6109',value:'安康市'},
{name:'6110',value:'商洛市'}
]
}";
$.getJSON("",{param:"sanic"},function(data){
//此处返回的data已经是json对象
//以下其他操作同第一种情况
$.each(data.root,function(idx,item){
if(idx==0){
returntrue;//同countinue,返回false同break
}
alert("name:"+item.name+",value:"+item.value);
});
});二、jQuery解析Json对象:
jQuery提供了另一种方法“parseJSON”,这需要一个标准的JSON字符串,并返回生成的JavaScript对象。语法:
data=$.parseJSON(string);
看看它是如何运用的到实际开发中的:
jQuery.ajax({
url:dataURL,success:function(results){
varparsedJson=jQuery.parseJSON(results);
alert(parsedJson.name);
}
});
jquery 如何遍历这样的json
方法挺多的把,可以用for循环,也可以用each方法。
先献上ajax请求:
$.ajax({
url:'/path/to/file',
type:'GET',
dataType:'json',
data:{param1:'value1'},
success:function(obj){
//遍历obj
}
})返回的内容在success的函数里面,所有的遍历操作都是在这里面操作的:
for循环:
varobj={
"status":1,
"bkmsg":"\u6210\u529f",
"bkdata":["\u5415\u5c1a\u5fd7","1387580400","\u6dfb\u52a0\u8bb0\u5f55"]
}
//console.log(obj.length);
if(obj.status==1){
for(vari=0;i<obj.bkdata.length;i++){
console.log(obj.bkdata[i]);
};
}else{
alert("数据有误~");
};
for in循环:
//forin循环
for(xinobj.bkdata){
//x表示是下标,来指定变量,指定的变量可以是数组元素,也可以是对象的属性。
console.log(obj.bkdata[x]);
}
//元素 each方法
if(obj.status==1){
$(obj.bkdata).each(function(index,item){
//index指下标
//item指代对应元素内容
//this指代每一个元素对象
//console.log(obj.bkdata[index]);
console.log(item);
//console.log($(this));
});
}else{
alert("数据有误~");
};
//jquery each方法
$.each(obj.bkdata,function(index,item){
console.log(item);
});
jquery解析json怎么解析
获取JSON数据,在jQuery中有一个简单的方法$.getJSON()可以实现。
下面引用的是官方API对$.getJSON()的说明:
jQuery.getJSON( url, [data,] [success(data, textStatus, jqXHR)])
urlA string containing the URL to which the request is sent.
dataA map or string that is sent to the server with the request.
success(data, textStatus, jqXHR)A callback function that is executed if the request succeeds.
回调函数中接受三个参数,第一个书返回的数据,第二个是状态,第三个是jQuery的XMLHttpRequest,我们只使用到第一个参数。
$.each()是用来在回调函数中解析JSON数据的方法,下面是官方文档:
jQuery.each( collection, callback(indexInArray, valueOfElement))
collectionThe object or array to iterate over.
callback(indexInArray, valueOfElement)The function that will be executed on every object.
$.each()方法接受两个参数,第一个是需要遍历的对象集合(JSON对象集合),第二个是用来遍历的方法,这个方法又接受两个参数,第一个是遍历的index,第二个是当前遍历的值。哈哈,有了$.each()方法JSON的解析就迎刃而解咯。
functionloadInfo(){
$.getJSON("loadInfo",function(data){
$("#info").html("");//清空info内容
$.each(data.comments,function(i,item){
$("#info").append("<div>"+item.id+"</div>"+"<div>"+item.nickname+"</div>"+
"<div>"+item.content+"</div><hr/>");
});
});
}
END,本文到此结束,如果可以帮助到大家,还望关注本站哦!