我有以下类型的JSON:
{
"cards": [
{
"type": "Cultural",
"number": "auto",
"url": "http://www.url1.com"
},
{
"type": "Museums",
"number": "auto",
"url": "http://www.url2.com"
},
{
"type": "Outdoors",
"number": "auto",
"url": "http://www.url3.com"
},
我怎么能用jQuery循环通过我的JSON?
答案 0 :(得分:2)
假设这是你的源对象:
var data = {
"cards": [
{
"type": "Cultural",
"number": "auto",
"url": "http://www.url1.com"
},
{
"type": "Museums",
"number": "auto",
"url": "http://www.url2.com"
},
{
"type": "Outdoors",
"number": "auto",
"url": "http://www.url3.com"
}]
}
您不需要JQuery循环遍历每个项目;用一个简单的for
你可以像
for(var i=0; i<data.cards.length;i++){
console.log(data.cards[i]);//<-- also possible: data.cards[i].type or data.cards[i].number or data.cards[i].url
}
但是,使用.each
$.each(data.cards, function(index, value) {
console.log(index + ': ' + value);
});
答案 1 :(得分:1)
如果您已将其解析为JSON对象,则可以使用以下命令:
var j={"cards":[....]};
$.each(j.cards, function(i,c){
//c is card that you can process.
});
答案 2 :(得分:0)
jQuery有一个函数可以解析格式正确的json并返回一个javascript对象:
http://api.jquery.com/jquery.parsejson/
var json = '{"name":"John"}';
var myObject = $.parseJSON(json);
然后您可以使用javascript循环遍历对象:
for(var ind in myObject) {
var value = myObject[ind];
}
实际上,您确实希望确保该属性不是原型,因此请将上述内容更改为:
for(var ind in myObject) {
if (myObject.hasOwnProperty(ind)) {
var value = myObject[ind];
}
}
或者如果你想要一个全jQuery解决方案,你可以使用.each
$.each(myObject, function(ind, value) {
console.log(value);
});