2012-01-03 5 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"} 
} 

내가 JQuery와이 JSON을 반복하고 div1> 데이터 및 div1> 주소, DIV2> 데이터와 DIV2> 주소를 가져 오기 위해 필요한 방법. 누구든지 나를 도울 수 있습니까?

+0

가능한 복제본 [jquer의 json 데이터를 반복하는 방법 y] (http://stackoverflow.com/questions/4233354/how-to-iterate-json-data-in-jquery) – JohnP

+0

'$ .getJSON'을 사용하여 검색합니까? –

답변

1

편집 : 여기 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); 
    }); 

    }); 
} 

당신은 또한 div1> 데이터를 가져 오기 위해 간단한 자바 스크립트 반복 처리를 사용할 수있는 동일한의의 jQuery 버전 (비 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 방법을 사용해보십시오. 그것은 잘 형성 JSON 문자열이 아니라 처음 parseJSON 방법을 사용하여 분석 한 후 반복하는 데 사용할 필요가 다음 객체 인 경우

var obj = { ... }; 

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

.

var obj = $.parseJSON(jsonString); 

그런 다음 직접

div1 아래> 데이터로 필요한 속성에 액세스 할 수 있습니다 =>obj.div1.data;

div1> 주소 =>obj.div1.address;

DIV2> 데이터 =>obj.div2.data;

div2> 주소 =>bj.div2.address;