LastFM API을 사용하여 JSON 피드를 구문 분석하려고하지만 JSON 배열에 반환되는 특정 요소가 있는데,이 요소 앞에는 참조 방법을 알 수없는 #가 붙습니다.jQuery를 사용하여 LastFM에서이 특정 JSON 데이터를 구문 분석하려면 어떻게해야합니까?
피드 URL은 here이며 visualised here입니다.
내 jQuery 코드는 지금까지 다음과 같습니다 : 나는 기본적으로 피드의 각 항목을 통해 반복하고 동적으로 다음 DOM에 추가 된 목록을 짓고 있어요
$.getJSON('http://ws.audioscrobbler.com/2.0/?method=geo.getevents&api_key=ca1599876cde298491941da8577de666&format=json&callback=?', function(data) {
$.each(data.events.event, function(i, item) {
html += "<li><a class='fm-event' href='" + item.url + "'><h4>" + item.title + "</h4>";
html += "<p>at " + item.venue.name + ", " + item.venue.location.city + "<br />";
html += "on " + item.startDate + "</p>";
html += "<img src='" + item.venue.image.text + "' />"; // This doesn't work. how do I do this?
html += "</a></li>";
});
$("#last-fm-events").append(html);
});
.
알아낼 수없는 것은 피드의 이미지 항목에 대한 URL을 얻는 방법입니다. 크기가 다른 경우에는 여러 가지가 있습니다. 이미지 요소에 대한 JSON은 다음과 같습니다
"image": [
{
"#text": "http:\/\/userserve-ak.last.fm\/serve\/34\/2243904.gif",
"size": "small"
},
{
"#text": "http:\/\/userserve-ak.last.fm\/serve\/64\/2243904.gif",
"size": "medium"
},
{
"#text": "http:\/\/userserve-ak.last.fm\/serve\/126\/2243904.gif",
"size": "large"
},
{
"#text": "http:\/\/userserve-ak.last.fm\/serve\/252\/2243904.gif",
"size": "extralarge"
},
{
"#text": "http:\/\/userserve-ak.last.fm\/serve\/_\/2243904\/A38.gif",
"size": "mega"
}
]
}
하지만 배열의 텍스트 요소가 # 어떻게 특정 크기의 이미지에 대한 URL을 얻을하는 접두사 왜 이해가 안 돼요. jQuery 초보자로서 어떤 도움을 주셨습니다! 감사.
JSON에 대해 좀 더 자세히 이해하는 데 도움이되는 훌륭한 답변입니다. 또한 데이터를 반환하는 데 약간 이상한 방법을 찾게되어 기쁘게 생각합니다. 확실한 것이 빠져 있는지 확실하지 않았습니다.어쨌든 솔루션은 완벽하게 작동하며 매우 감사드립니다. –
@Dan Diplo : 뛰어나고 기뻤습니다. 예, 더 일반적인 JSON 및 JavaScript 방식은 다음과 같습니다. '{ "image": { "small": "http : ///userserve-ak.last.fm// serve//2243904.gif", "medium": "http : \/\/userserve-ak.last.fm \/serve \/64 \ /2243904.gif", ...}}'그러나 그들은 다른 소스 형식 (XML 형식). –
고마워요, 훌륭한 답변입니다. – Zach