Получить значения массива из формата Json Javascript - PullRequest
1 голос
/ 16 января 2012

Как я могу получить значения массивов, возвращаемых в формате Json в твиттере.Я уже знаю, как обрабатывать формат json из yahoo и fb, но формат json, возвращаемый Twitter, отличается функцией обратного вызова.

fb

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

twitter

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



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

alert(disp);

но я получаю только 1-й, я не могу получить 2-й массив.

Ответы [ 2 ]

2 голосов
/ 16 января 2012

Вы должны упомянуть, что это примерно 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 голосов
/ 16 января 2012

Это должно работать:

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

alert(disp);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...