2012-01-03 6 views
0

Je suis nouveau à jquery. Ont json réponse de php dans ce format.Iterate réponse JSON dans Jquery

{ 
"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"} 
} 

Comment je dois itérer cette JSON dans jquery chercher les div1> données et div1> adresse, div2> données et div2> adresse. Quelqu'un peut-il m'aider?

+0

duplication possible de [Comment itérer des données json dans jquer y] (http://stackoverflow.com/questions/4233354/how-to-iterate-json-data-in-jquery) – JohnP

+0

Utilisez-vous '$ .getJSON' pour le récupérer? –

Répondre

1

Edit: la version jQuery du même ici 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); 
    }); 

    }); 
} 

vous pouvez également utiliser itérer javascript simple pour obtenir div1> données, (version non 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

En boucle ou directement accès?

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

Accès direct:

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

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

0

La meilleure façon est d'analyser simplement le JSON et parler directement à l'objet résultant.

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

Essayez cette méthode en utilisant jQuery each.

var obj = { ... }; 

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

Si elle est une chaîne JSON bien formée et non un objet, vous devez d'abord l'analyser en utilisant la méthode parseJSON puis l'utiliser pour itérer à travers elle.

var obj = $.parseJSON(jsonString); 

accès Ensuite, vous pouvez directement les propriétés requises comme ci-dessous

div1> data =>obj.div1.data;

div1> Adresse =>obj.div1.address;

div2> data =>obj.div2.data;

div2> adresse =>bj.div2.address;