我正在使用MusicBrainz' JSON web service我遇到了问题。
首先,我试图从中获取信息(只是其中的一部分):
"recordings":[
{
"id":"0ef614a0-9fee-42d5-b1c8-385d3d889a6c",
"score":"100",
"title":"Come as You Are (Dirty dub)",
"length":505000,
"video":null,
"artist-credit":[
{
"artist":{
"id":"5b11f4ce-a62d-471e-81fc-a69a8278c7da",
"name":"Nirvana",
"sort-name":"Nirvana",
"disambiguation":"90s US grunge band",
我能够接触到#34;艺术家"通过这样做:
$(function(){
$("#bt1").on('click', searchArtist);
});
function searchArtist(){
var keyword = $("#keyword").val();
$.get("http://www.musicbrainz.org/ws/2/recording/?query=artist:"+keyword+"&fmt=json", function(data){
$.each(data["recordings"], function(){
$.each(this["artist-credit"],function(){
$.each(this["artist"],function(){
$("#result").append(this.toString()+"<br>");
});
});
});
});
}
通过这种方式,我将所有内容都放在了#34;艺术家&#34;。但我想要做的只是获得&#34; id&#34;。我试过声明,但我没有定义。我该怎么做?
答案 0 :(得分:0)
问题解决了。那个&#34;艺术家&#34;没有[],这意味着它不是一个数组。我只需要为两个数组和#34;艺术家&#34;每个语句2,我需要做的就是this.artist.id得到我想要的。