带有[]的getJSON不';行不通

带有[]的getJSON不';行不通,json,api,get,getjson,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_leng

我在这方面不是很有经验,但我只是调用一个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的家伙,我该怎么做

编辑:现在还有一个问题。 如果我把它作为链接,它就不起作用了。 我用callback试过了,但也不行。

尝试
fbResults[0]。beatmapset\u id


编辑:更多解释请参见Andrew Shepherd的答案:p

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

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

在您的示例中:

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

对不起,有些东西还是不起作用。当我使用这个作为链接时,它不起作用,但当我复制它里面的内容并将其放入html时,它就起作用了。这很尴尬。@user356608-这是因为你的来源。它需要提供标题“accesscontrolalloworigin:*”,以便通过jquery的
getJSON
方法进行访问。这和你原来的问题不同。哦,好的。这是否意味着在他们更改API之前,我将无法使用他们的API?@user356608-可能有一个解决方法,但我不知道。很抱歉,有些方法仍然不起作用。当我使用这个作为链接时,它不起作用,但当我复制它里面的内容并将其放入html时,它就起作用了。那太尴尬了。