2012-01-03 60 views
0

jquery的新手。以这种格式从php中获得json响应。Jquery迭代JSON响应

{ 
"div1":{"data":"minute=0,hour=27,day=649,month=19K,smallSize=0, id=XXXXXXXXXX, ip=yyyyyyyyyyy<br \/>\nminute=0,hour=34,day=825,month=24K,smallSize=0, id=XXXXXXXXXX, ip=yyyyyyyyyyy<br \/>\nminute=0,hour=40,day=980,month=29K,smallSize=0, id=XXXXXXXXXX, ip=yyyyyyyyyyy<br \/>\n","address":"232323"}, 
"div2":{"data":"","address":"232323"}, 
"div3":{"data":"minute=0,hour=28,day=682,month=20K,smallSize=0, id=XXXXXXXXXX, ip=yyyyyyyyyyy<br \/>\nminute=0,hour=36,day=866,month=26K,smallSize=0, id=XXXXXXXXXX, ip=yyyyyyyyyyy<br \/>\nminute=0,hour=42,day=1019,month=30K,smallSize=0, id=XXXXXXXXXX, ip=yyyyyyyyyyy<br \/>\n","address":"232323"} 
} 

我如何需要遍历这个JSON在jQuery和获取DIV1>数据和DIV1>地址,DIV2>数据和DIV2>地址。谁能帮我?

+0

可能重复[如何在jquer中迭代json数据y](http://stackoverflow.com/questions/4233354/how-to-iterate-json-data-in-jquery) – JohnP 2012-01-03 15:28:04

+0

你使用'$ .getJSON'来检索它吗? – 2012-01-03 15:31:50

回答

1

编辑:同样的 jQuery的版本在这里DEMO

function viewJSON (jsonObj) { 
    var divData; 
    $.each (jsonObj, function (key, value) { 
    divData = value; //gives me the value of div 1 

    $. each (value, function (key, value) { 
     console.log ('Key is ' + key + ' Value is ' + value); 
    }); 

    }); 
} 

你也可以使用简单的JavaScript迭代来获得DIV1>数据(非jQuery的版本)

function viewJSON (jsonObj) { 
    var divData; 
    for (divKey in jsonObj) { 
    divData = jsonObj [divKey]; //gives me the value of div 1 

     for (dataKey in divData) { 
     console.log ('Key is ' + dataKey + ' Value is ' + divData[dataKey]); 
     } 

    }  
    } 

DEMO HERE

0

循环或直接访问?

$.each(json, function(key, val) { 
    console.log(key + ' ' + val.data + ' ' + val.address); 
}); 

直接访问:

console.log(json.div1.data); 
console.log(json.div1.address); 
// etc 

http://jsfiddle.net/karim79/CKDXU/

0

最简单的方法是简单地解析JSON并直接与生成的对象。

var theResponse = ...; 
var obj = $.parseJSON(theResponse); 
console.log(obj.div1.data); 
console.log(obj.div1.address); 
2

尝试使用jQuery each方法。

var obj = { ... }; 

$.each(obj, function(key, value) { 
    //key - each object in the json object 
    //value - its value 
}); 

如果它是一个很好形成的JSON字符串,而不是一个对象,那么你需要使用parseJSON方法首先解析它,然后用它来遍历它。

var obj = $.parseJSON(jsonString); 

然后就可以直接访问所要求的性质如下面

DIV1>数据=>obj.div1.data;

DIV1>地址=>obj.div1.address;

DIV2>数据=>obj.div2.data;

div2> address =>bj.div2.address;