2012-01-16 7 views
1

트위터에서 Json 형식으로 배열 값을 반환하려면 어떻게해야합니까? 나는 yahoo와 fb에서 json 형식을 처리하는 방법을 이미 알고 있지만 twitter에서 반환 된 json 형식은 콜백 함수와 다릅니다.Json 형식에서 배열 값 가져 오기 Javascript

FB

my({ 
    "data": [{ 
      "name": "May Ann Salle", 
      "created_time": "2012-01-09T12:29:19+0000" 
      }] 
}); 

트위터

my([ 
     { 
     "recipient_screen_name": "1stone" 
     }, 
     { 
     "recipient_screen_name": "2ndone" 
     } 
]); 



$.each(my, function(i, tw) { 
     disp += tw.recipient_screen_name; 
}); 

alert(disp); 

하지만 난 단지 1 하나를 얻을, 나는 배열의 두번째 하나 얻을 수 없습니다입니다.

+0

두 번째 예에서는 개체 사이에 쉼표가 없습니다. 또한'my'은 무엇입니까? – Joe

+0

@Joe는 그것을 입력하는 것을 잊지 만 실제 출력에는 있습니다. 내 콜백 함수입니다. –

+0

코드가 그대로 잘 작동합니다. 어떤 문제가 있습니까? http://jsfiddle.net/BnCVU/ –

답변

2

은이 단지에 대한 JSON-P하지 JSON입니다 언급해야한다.

어쨌든 각 데이터 세트마다 다른 콜백이 필요할 수 있습니다.

// your callback function 
function myTwitterCb(data) { 
    var disp = "" 
    var len = data.length 
    var tw = {} // placeholder object 
    for (var i = 0; i < len; i++) { 
    tw = data[i] 
    disp += tw.recipient_screen_name 
    } 
    doSomethingElseWith(disp) 
} 

function myFacebookCb(response) { 
    var data = response.data 
    var len = data.length 
    var fb = {} // placeholder object 
    for (var i = 0; i < len; i++) { 
    fb = data[i] 
    disp += fb.name 
    } 
    doSomethingElseWith(disp) 


} 

function doSomethingElseWith(disp) { 
    // draw it to the screen or something 
} 
2

이 작동합니다 :

var disp, i = 0, l = tw.length; 
for(i; i < l; i++) { 
    disp += tw[i].recipient_screen_name; 
} 

alert(disp); 
관련 문제