2013-03-13 1 views
1

저는 JSON 초심자입니다. last.fm의 JSON 피드를 사용하여 이벤트 페이지를 작성하고 있습니다.last.fm JSON 데이터 /이 긴 배열을 자르는 방법은 무엇입니까?

피드가 정상적으로 작동하지만 여러 아티스트가 음악 축제와 같은 이벤트에 출연하는 것이 문제입니다. 현재 배열 전체는 쉼표 뒤에 공백없이 인쇄되고 있으며 많은 밴드가 나열되어 있다면 배열을 단축하는 방법을 알 수 없습니다.

내 코드의 관련 부분은 하나가 이후

$.getJSON(last_fm_url, function(data) { 
    $.each(data.events.event, function(i, item){ 
    var eventTitle = item.title; 
    var eventArtist = item.artists.artist; 
    }); 
}); 

EVENTTITLE 더 큰 문제가 없을 것입니다. (예를 들어, 처음 10 개 밴드를 나열),하지만 난 eventArtist 함께 할 모르겠어요 그 긴 목록을 내가 할 수있는 개별 항목으로 분리하는 법.

내 샘플은 여기 http://bit.ly/ZI4Q5h입니다. 내 jsfiddle 여기에 : http://jsfiddle.net/SBvUm/2/.

도움 주셔서 감사합니다.

+0

당신은 자체에 포함 된 예제를 만들 수 있습니다 :

코드는 바이올린을 갱신이

같이해야합니까? – Blender

+2

또는 돌아 오는 JSON 게시 –

+0

죄송합니다.이 웹 사이트를 여러 번 읽었지만 전에 게시 한적이 없습니다. 자체 포함 된 예는 무엇입니까? –

답변

0

당신이 배열에서 10 개 첫째 항목을하려는 경우 슬라이스 사용해야

나는 jsfiddle 업데이트
eventArtist = item.artists.artist.slice(0, 9); 

: 더 나은이 "toString"배열 표현을 제어하기 위해 http://jsfiddle.net/SBvUm/3/

을, 당신은 "사용할 수 있습니다 어울리다".

예를 들어 각 쉼표 뒤에 공백을 얻기 위해, 최종 코드는 당신이 가진 문제는 가끔 item.artists.artist 배열하지만 문자열이 아닌 것입니다이

eventArtist = item.artists.artist.slice(0, 9).join(", "); 

처럼 보일 것입니다. 이 경우 슬라이스 및 조인이 제대로 작동하지 않습니다. http://jsfiddle.net/SBvUm/7/

var eventArtist = item.artists.artist; 
if (typeof(eventArtist["join"]) == "function" ){ 
     eventArtist = eventArtist.slice(0,9).join(", "); 
} 
+0

감사합니다 @ guymograbi, 그 절반 잘 내 질문에 대답. 그러나 각 쉼표 뒤에 공백을 넣으려면 어떻게해야합니까? –

+0

좋아, 가장 세련된 해결책인지는 모르겠지만 http://jsfiddle.net/SBvUm/4/. 해결했습니다. 감사합니다 여러분. –

+0

그냥 코멘트에 귀하의 질문에 대답 - 배열 toString 표현에 구분 기호를 제어하려면 "조인"을 사용해야합니다. 그 뒤에 공백을 띄우려면'item.artists.artist.slice (0, 9) .join (",");' –