带有[]的getJSON不';行不通
我在这方面不是很有经验,但我只是调用一个API,它会返回这个带有[]的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
[
{
"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时,它就起作用了。那太尴尬了。