带[]的getJSON不起作用

时间:2014-04-23 22:50:48

标签: json api get getjson

我对这些东西不是很有经验,但我只是打电话给一个API,我会回复这个

[
   {
      "beatmapset_id":"18860",
      "beatmap_id":"66609",
      "approved":"2",
      "approved_date":"2010-08-15 10:04:19",
      "last_update":"2010-08-15 10:00:44",
      "total_length":"468",
      "hit_length":"447",
      "version":"Legend",
      "artist":"DragonForce",
      "title":"Revolution Deathsquad",
      "creator":"Lesjuh",
      "bpm":"250",
      "source":"",
      "difficultyrating":"3.95095",
      "mode":"0"
   }
]

我的HTML:

$(document).ready(function(){    

$.getJSON('whatever.html', function(fbResults) {

document.write(fbResults.beatmapset_id);

     });

}); 

现在的问题是,它不能以这种方式工作,但如果我从JSON代码中删除“[”和“]”,它就可以工作。

好吧,我不能告诉制作这个API的人去除那些,我该怎么办?

编辑:现在还有另一个问题。 https://osu.ppy.sh/api/get_beatmaps?k=5051a27169de8f360636fb0c3a108e8a3dab24b2&b&b=66609 如果我把它作为链接,它不起作用。 我用回调尝试了它,但这也不起作用。 https://osu.ppy.sh/api/get_beatmaps?k=5051a27169de8f360636fb0c3a108e8a3dab24b2&b&b=66609?callback=?“

2 个答案:

答案 0 :(得分:3)

方括号表示这是一个包含一个项目的数组。

要获取此数组中的第一个(也是唯一的)项,只需将[0]附加到其中即可。

在你的例子中:

document.write(fbResults[0].beatmapset_id);

答案 1 :(得分:0)

尝试fbResults[0].beatmapset_id

编辑:请参阅Andrew Shepherd的答案以获得更多解释:P