如何使用JSON Web服务(Jquery)

时间:2016-04-04 00:07:07

标签: jquery json

我正在使用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;。我试过声明,但我没有定义。我该怎么做?

1 个答案:

答案 0 :(得分:0)

问题解决了。那个&#34;艺术家&#34;没有[],这意味着它不是一个数组。我只需要为两个数组和#34;艺术家&#34;每个语句2,我需要做的就是this.artist.id得到我想要的。