2012-01-03 62 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;