2014-01-12 33 views
0

我已經JSON對象由last.fm API返回如下的「#」屬性:如何獲得JSON對象的JavaScript中包含的關鍵

{ 
    "artists": { 
     "artist": { 
      "name": "Daft Punk", 
      "playcount": "494599", 
      "listeners": "106101", 
      "mbid": "056e4f3e-d505-4dad-8ec1-d04f521cbb56", 
      "url": "http://www.last.fm/music/Daft+Punk", 
      "streamable": "1", 
      "image": [ 
       { 
        "#text": "http://userserve-ak.last.fm/serve/34/5463.jpg", 
        "size": "small" 
       }, 
       { 
        "#text": "http://userserve-ak.last.fm/serve/64/5463.jpg", 
        "size": "medium" 
       }, 
       { 
        "#text": "http://userserve-ak.last.fm/serve/126/5463.jpg", 
        "size": "large" 
       }, 
       { 
        "#text": "http://userserve-ak.last.fm/serve/252/5463.jpg", 
        "size": "extralarge" 
       }, 
       { 
        "#text": "http://userserve-ak.last.fm/serve/500/5463/Daft+Punk.jpg", 
        "size": "mega" 
       } 
      ] 
     }, 
     "@attr": { 
      "page": "1", 
      "perPage": "1", 
      "totalPages": "1000", 
      "total": "1000" 
     } 
    } 
} 

現在我試圖讓來自對象的圖像但是圖像url的關鍵字是"#text"。我不知道如何在Javascript中提取此值。我使用AngularJS,但任何使用普通JavaScript的建議也是okei。有沒有什麼辦法可以在對象的關鍵字中使用「#」來獲得它的值。

任何幫助將不勝感激。

乾杯:)

+3

請注意,這個問題有什麼** **做JSON的。這是關於如何在JavaScript中處理數組/對象。 *您如何獲得數據(例如,通過JSON)與問題無關。 –

+1

另請參見[Access/process(嵌套)對象,數組或JSON](http://stackoverflow.com/q/11922383/218196)。 –

回答

2

假設它在obj變種,這將返回與圖像

var imgSrcArray = obj.artists.artist.image.map(function(image){ return image['#text'] }); 

就是這樣一個數組。

如果你想classicaly遍歷這個數組,這個

var images = obj.artists.artist.image; 
for(var i=0; i < images.length; i++){ 
    var image = images[i]; 
    var url = image['#text']; 
    console.log("url: ", url); //Outputs the img url 
} 

乾杯

+0

完美@edgar。非常感謝你:) – zambliner

+0

很高興幫助你!歡呼聲,來自玻利維亞的拉巴斯 –

0

foo['artists']['artist']['image'][0]['#text']

相關問題