2013-02-17 24 views
0

这是JSON解析LastFM等JSON的封面

"album":[ 
     { 
      "name":"DD Y Ponle Play", 
      "artist":"Jumbo", 
      "id":"2528039", 
      "url":"http:\/\/www.last.fm\/music\/Jumbo\/DD+Y+Ponle+Play", 
      "image":[ 
       { 
       "#text":"http:\/\/images.amazon.com\/images\/P\/B00005LN6S.01._SCMZZZZZZZ_.jpg", 
       "size":"small" 
       }, 
       { 
       "#text":"http:\/\/images.amazon.com\/images\/P\/B00005LN6S.01._SCMZZZZZZZ_.jpg", 
       "size":"medium" 
       }, 
       { 
       "#text":"http:\/\/images.amazon.com\/images\/P\/B00005LN6S.01._SCMZZZZZZZ_.jpg", 
       "size":"large" 
       }, 
       { 
       "#text":"http:\/\/images.amazon.com\/images\/P\/B00005LN6S.01._SCMZZZZZZZ_.jpg", 
       "size":"extralarge" 
       } 
      ], 
      "streamable":"0", 
      "mbid":"" 
     }, 

这里是我的功能

$.each(data.results.albummatches.album , function(){ 

      $.each(this.image , function(){ 

       $('.lightbox').append('<img src="'+this["#text"]+'" />'); 

      }); 

     }); 

基本上这一切工作正常,excpet,我得到了4种不同的图像对象的图像大小。不过,我只想抓住一个尺寸。

对于我的生活,我没有指定id这样的[2] [“#text”]或反过来。

我失踪了什么?任何帮助都会大大降低。

回答

0

没关系。只是循环了太多次。

这里就是答案:

$.each(data.results.albummatches.album , function(){ 

      //this worked 
      $('.lightbox').append('<img src="'+this.image[3]['#text']+'" />'); 

     }); 
+0

其实我不明白为什么你需要循环在所有如果你只需要从整体响应... – TheZuck 2013-02-17 07:43:59

+0

即这有什么错$(”一个图像。 ('''')。append(''); – TheZuck 2013-02-17 07:46:32

+0

对象中有更多的结果,所以它需要循环所有相册。我只附加了一个结果块。把它想象成从前10个搜索结果中列出10个图像。 – Dbrandt 2013-02-17 07:49:34