无法从JSON获取Feed项

时间:2013-07-06 15:40:02

标签: jquery ajax last.fm

我正在尝试使用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"
     }
  ],

完整网址:http://lab.starchcreative.co/zapp/albumartproxy.php?artist=Jake%20Bugg&album=Jake%20Bugg

此数据也嵌套在album内,因此我尝试执行此操作以访问 mega 的图片网址:albumArtURL = data.album.image.#text[4];

由于项目中有#,因此返回错误。所以我只是尝试albumArtURL = data.album.image.text[4];无济于事。

任何人都可以帮我解决我的错误吗?

2 个答案:

答案 0 :(得分:1)

您是否尝试使用括号表示法(而不是 dot )来解决有问题的#text
并在定位对象密钥

之前访问image的{​​{1}}数组位置
[4]

答案 1 :(得分:0)

   $.each(images.image, function (i, item) {
     var myvar = "text: " + item['#text'] + " size: " + item.size 
    })

这是一个工作示例:fiddle