有人可以告诉我我在做什么错吗?我正在使用ESPN API检索JSON对象,但是无法使其显示在HTML页面的DIV中。
我的jQuery
$.ajax({
type: "GET",
dataType: "json",
data: " ",
url: 'http://api.espn.com/v1/sports/basketball/nba/teams/16?enable=stats,leaders&seasontype=2&_accept=text/json&apikey=XXXXX2457896',
success: function(data) {
$('#result').html(data);
console.log('Load was performed.');
}
});
我返回的JSON
{
“体育”:[
{
“ name”:“篮球”,
“ id”:40,
“联盟”:[
{
“ id”:46,
“ groupId”:7
“名称”:“国家篮球协会”,
“缩写”:“ NBA”,
“团队”:[
{
“ id”:16
“位置”:“明尼苏达州”,
“ name”:“森林狼”,
“缩写”:“ MIN”,
“ color”:“ 0E3764”,
“链接”:{
“ api”:{
“团队”:{
“ href”:“ http://api.espn.com/v1/sports/basketball/nba/teams/16”
},
“新闻”:{
“ href”:“ http://api.espn.com/v1/sports/basketball/nba/teams/16/news”
},
“注释”:{
“ href”:“ http://api.espn.com/v1/sports/basketball/nba/teams/16/news/notes”
}
},
“网络”:{
“团队”:{
“ href”:“ http://espn.go.com/nba/team/_/name/min/minnesota-timberwolves?ex_cid=espnapi_public”
}
},
“移动电话”:{
“团队”:{
“ href”:“ http://m.espn.go.com/nba/clubhouse?teamId=16&ex_cid=espnapi_public”
}
}
}
}
]
}
]
}
],
“ resultsOffset”:0,
“ resultsLimit”:50,
“ resultsCount”:1
“ timestamp”:“ 2012-07-03T16:33:07Z”,
“状态”:“成功”
}
该请求工作正常,一切正常。我只是想不通如何使数据显示在HTML页面上。我以为我可以使用
.html()
属性,但是我肯定缺少一些东西。谢谢你的帮助..
最佳答案
这是jsfiddle。
查看JavaScript底部的JSON。然后,我使用点表示法遍历对象并获取所需的信息并将其输出:data.sports[0].leagues[0].teams[0].links.api
这是您需要做的事情
$.getJSON('/sports', function(data) {
var links = data.sports[0].leagues[0].teams[0].links.api
for(var key in links) {
$('body').append('<a href="'+ links[key].href +'">'+ links[key].href +'</a><br />');
}
});
使用
[0]
是因为您在JSON中使用了数组。