1

JSON と jQuery Ajax を使用して Last.FM API からアルバム アートワークを取得しようとしていますが、次のようなデータ構造にアクセスできません。

  "image":[
     {
        "#text":"http:\/\/userserve-ak.last.fm\/serve\/34s\/82993237.png",
        "size":"small"
     },
     {
        "#text":"http:\/\/userserve-ak.last.fm\/serve\/64s\/82993237.png",
        "size":"medium"
     },
     {
        "#text":"http:\/\/userserve-ak.last.fm\/serve\/174s\/82993237.png",
        "size":"large"
     },
     {
        "#text":"http:\/\/userserve-ak.last.fm\/serve\/300x300\/82993237.png",
        "size":"extralarge"
     },
     {
        "#text":"http:\/\/userserve-ak.last.fm\/serve\/_\/82993237\/Jake+Bugg.png",
        "size":"mega"
     }
  ],

完全な URL: http://lab.starchcreative.co/zapp/albumartproxy.php?artist=Jake%20Bugg&album=Jake%20Bugg

このデータも内部にネストされているため、これを実行してmegaalbumのアートワーク URL にアクセスしようとしました。albumArtURL = data.album.image.#text[4];

#これは、アイテムにあったようにエラーを返しました。だから私はただalbumArtURL = data.album.image.text[4];無駄にしようとした。

私が間違っていることを手伝ってくれる人はいますか?

4

2 に答える 2

1

オブジェクトキーをターゲットにする前に、問題のある配列の場所に アクセスするために(ドットの代わりに)ブラケット表記を使用しようとしましたか#text
image[4]

albumArtURL = data.album.image[4]["#text"];
于 2013-07-06T15:43:17.090 に答える
0
   $.each(images.image, function (i, item) {
     var myvar = "text: " + item['#text'] + " size: " + item.size 
    })

これが実際の例です:フィドル

于 2013-07-06T15:56:20.040 に答える