2013-02-17 2 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 разные Размеры изображения из объекта изображения. Однако я хочу только захватить 1 из размеров.

Для жизни меня не имеет смысла указывать такой идентификатор, как этот [2] ["# text"] или наоборот.

что мне не хватает? любая помощь будет значительно оценена.

ответ

0

Ничего. Просто повторяется слишком много раз.

вот ответ:

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

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

     }); 
+0

на самом деле я не понимаю, почему вы должны цикла вообще, если вам просто нужно одно изображение из всего ответа ... – TheZuck

+0

то, что случилось с $ (». лайтбокс '). append (' '); – TheZuck

+0

есть намного больше результатов в объекте, поэтому ему нужно зацикливать все альбомы. Я только приложил один блок результата. Подумайте об этом, указав 10 изображений из первых 10 результатов поиска. – Dbrandt