0

我想检索第一首曲目的状态

"@attr":{"nowplaying":"true"}

我有这个代码来检索有关每个轨道的信息

$.getJSON("http://ws.audioscrobbler.com/2.0/?method=user.getRecentTracks&user=melroymusic&api_key=690e1ed3bc00bc91804cd8f7fe5ed6d4&limit=3&format=json&callback=?",

function(data){
    $.each(data.recenttracks.track, function(i,item){
    $("#lastfmMenu").append("<div class='lastfmItem'><div class='lastfmText'>"+item.artist['#text']+"</div>" + "<div class='lastfmDate'>"+item.name+"</div></div>");
    });
});

检索第一首曲目的正在播放状态,逻辑上我会这样做

$.getJSON("http://ws.audioscrobbler.com/2.0/?method=user.getRecentTracks&user=melroymusic&api_key=690e1ed3bc00bc91804cd8f7fe5ed6d4&limit=3&format=json&callback=?",

function(data){
    if (data.recenttracks.track[0]['@attr'].nowplaying == true){
        $("#lastfmMenu").append("Now Playing");
    }
    else {
        $("#lastfmMenu").append("Just played");
    }
});

没有给我任何结果。

希望你能帮助我。

4

2 回答 2

2

是不是因为 nowplaying 是一个字符串而不是布尔值,所以它应该是

.nowplaying == "true"?

不是在电脑上,所以我无法检查。

于 2011-08-17T21:40:07.453 回答
0

您是否尝试先解析它?试试这个(未经测试),

function(data){
  **var parsedData = $.parseJSON(data)**
    if (parsedData.recenttracks.track[0]['@attr'].nowplaying == true){
      $("#lastfmMenu").append("Now Playing");
    }
    else {
      $("#lastfmMenu").append("Just played");
    }
});
于 2011-08-17T21:46:52.540 回答