1

谁能告诉我我在这里做错了什么?我正在使用 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

{
  “运动的”: [
    {
      “名称”:“篮球”,
      “身份证”:40,
      “联盟”:[
        {
          “身份证”:46,
          "groupId": 7,
          "name": "美国国家篮球协会",
          "缩写": "NBA",
          “团队”:[
            {
              “身份证”:16,
              “位置”:“明尼苏达”,
              "name": "森林狼",
              "缩写": "MIN",
              “颜色”:“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”
                  }
                }
              }
            }
          ]
        }
      ]
    }
  ],
  “结果偏移”:0,
  “结果限制”:50,
  “结果计数”:1,
  "时间戳": "2012-07-03T16:33:07Z",
  “状态”:“成功”
}

该请求工作正常,一切正常。我只是不知道如何让数据出现在我的 HTML 页面上。我以为我可以只使用该.html()属性,但我一定遗漏了一些东西。

谢谢你的帮助..

4

3 回答 3

5

将json包装在一个<pre></pre>块中,然后将其输出到页面上

于 2012-07-03T16:44:03.000 回答
5

这是一个jsfiddle

查看我获取 JSON 的 JavaScript 底部。然后我使用点符号遍历对象,得到我需要的信息并输出:

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 中使用了数组。

于 2012-07-03T17:55:44.763 回答
0

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 />');          

    }
}
于 2016-04-11T07:32:35.410 回答