2011-10-30 8 views
0

트위터 사용자 이름의 목록을 얻으려고하는데, jitter를 jitter로 가져 와서 twitter api가 반환 한 json 데이터를 파싱 할 수 없습니다. 내가 얻는 이름을 표시하는 대신 : [object Object]. 결과를 확인한 결과 유효한 json 데이터 인 것으로 보입니다. 데이터 사용 방법을 이해하는 데 도움이 필요합니다.캔트가 twitter api에서 json 데이터를 구문 분석합니다.

$.getJSON('https://api.twitter.com/1/users/lookup.json?user_id=16917715', function(data) { 
    var items = []; 
     $.each(data, function(key, val) { 
     items.push('<li id="' + key + '">' + val + '</li>'); 
     }); 
     $('<ul/>', { 
     'class': 'twitter-names-list', 
     html: items.join('') 
     }).appendTo('#follower-names'); 
}); 

답변

0

내가 대신 JSON의 JSONP를 사용 할 필요가 확신 :

여기 내가 사용하는 코드입니다. 일반적으로 교차 도메인 아약스 호출을 할 수 없으며 여기에서 실패 할 것입니다. 좋은 점이 있으시면 article on the subject

IIRC로 간단히 &callback=?을 GET 요청에 추가 할 수 있습니다. 즉 귀하의 요청 만들 것 $.getJSON('https://api.twitter.com/1/users/lookup.json?user_id=16917715&callback=?',...

jQuery를 동적 기능 ?가 데이터를 처리하는 것을 대체 할 것이다 당신이

+0

감사합니다. 그 기사를 살펴 보겠습니다. – DLL

+0

도움이된다면이 부분도 찾았습니다. http://jquery-howto.blogspot.com/2009/04/twitter-jsonjsonp-api-url.html –

0

데이터를 검색하는 URL에 &callback=?를 추가하는 것이 더 나은 작동합니다

$.getJSON('https://api.twitter.com/1/users/lookup.json?user_id=16917715&callback=?', function(data) { 
    console.log(data); 
}); 
0

나는 API를 사용하지 않았지만 https://dev.twitter.com/docs/api/1/get/users/lookup을보고 결과가 객체의 배열 인 것처럼 보입니다. 코드를 올바르게 읽는다면 배열의 객체 속성이 아니라 배열을 반복하고있는 것처럼 보입니다. 현재 $.each() 전화를 겁니다.

for(var x = 0; x < data.length; x++) 
{ 
    $.each(data[ x ], function(key, val){ 
    ... 
    }); 
} 
+0

코드를 살펴본 후, 너는하려고하는거야. 처음에는 배열의 속성을 반복하고 각 속성을 나열하려고했으나 설명을 통해 트위터에서 사용자 이름 목록을 만드는 것처럼 보였습니다. 이 경우, $ .each가 필요 없으므로 반환 된 사용자 배열의 각 객체의 name 및 id 속성에 액세스하면됩니다. – Brian

+0

고마워, 그건 내 질문에 대답했다. 나는 현재 사용자 이름 만 필요로하지만 모든 속성을 얻는 방법을 알고 싶었습니다. json 데이터가 작동하지 않는 이유를 이해하지 못했지만 객체 대신 배열을 사용했기 때문입니다. – DLL

+0

내 대답이 도움이된다면 내 대답 옆에있는 체크 표시를 클릭하여 올바르게 표시 할 수 있습니까? – Brian

관련 문제