2016-11-10 241 views
0

我试过在这里搜索,但我无法弄清楚这一点。获取JSON对象标题

我试图做一个抓取对象的每个标题的每个函数,我的json是。

{"games":{ 
    "featured": [ 
     { 
      "game_id": "2" 
     }, 
     { 
      "game_id": "15", 
     } 
    ], 
    "popular": [ 
     { 
      "game_id": "2" 
     } 
    ], 
    "new": [ 
     { 
      "game_id": "2", 
     }, 
     { 
      "game_id": "15", 
     }, 
     { 
      "game_id": "1", 
     } 
    ] 
}} 

我的JS是:

$.getJSON("apilink", 
    function(data) { 
     $.each(data.games, function(i,category){ 
      alert(category[0]); 
     }); 
}); 

我显然试图通过特色,流行和新的旋转。我究竟做错了什么?谢谢!

回答

2

您可以使用嵌套$.each()来电category迭代对象的每个数组:的data

var data = { 
 
    "games": { 
 
    "featured": [{ 
 
     "game_id": "2" 
 
    }, { 
 
     "game_id": "15", 
 
    }], 
 
    "popular": [{ 
 
     "game_id": "2" 
 
    }], 
 
    "new": [{ 
 
     "game_id": "2", 
 
    }, { 
 
     "game_id": "15", 
 
    }, { 
 
     "game_id": "1", 
 
    }] 
 
    } 
 
}; 
 

 
$.each(data.games, function(i, category) { 
 
    console.log(i + ":"); 
 
    $.each(category, function(key, obj) { 
 
    console.log(obj) 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"> 
 
</script>

+0

现在这是有道理的。谢谢。我无法获得game_id,虽然哈哈。 –

+0

这不是“obj.game_id”吗? –

+0

@ christopher.web是或者'obj [“game_id”]' – guest271314

1

我想你想获得特色流行?你已经有了你的答案,第一个参数i返回对象的关键字,第二个参数返回的值是类别

$.each(data.games, function(i, category) { 
     // category is what you are looking for 
     alert(JSON.stringify(category)); 
     //or 
     alert(JSON.stringify(data.games[i])); 
    }); 

希望帮助

+0

此提醒"games"属性的属性名一个对象3次。不是标题。 –

+0

所以我实际上做的是警惕(i),那会带回标题 –