Объединение двух каналов Json в один - PullRequest
1 голос
/ 26 января 2012

Добрый день, стек людей,

Я сам изучаю, как объединить два канала Json в один и отобразить их на одной временной шкале по дате, используя JS или jQuery.

Например, у нас будет два файла json file1.json и file2.json (один из твиттера, а другой из filckr).

Мне нужно "n" номеров последних товаров и показать, добавить их, чтобы показать по времени предметов.

Есть идеи или советы?

Спасибо!

P.S. Примеры каналов: http://twitter.com/status/user_timeline/ignaty.json?count=5 и http://api.flickr.com/services/feeds/groups_pool.gne?%20id=675729@N22&lang=en-us&format=json

Позволяет выбрать только одно значение из каждого.

1 Ответ

1 голос
/ 26 января 2012

Вот некоторый метод, который должен это сделать (хотя вам нужно настроить его).

По сути, вы запрашиваете два API, а затем (как только оба запроса завершены) вы сортируете массив нормализованных объектов.

var all = [];
var waiting = 2; // number of services you request

// once you get response1 or response2
function parseFlickr(data) {
  $.each(data, function(index, item) {
     // normalize item here depending on service format (parse date)
     var normalized = {};
     normalized.date = new Date(Date.parse(item.date));
     all.push(normalized);
  });

  if(--waiting == 0) { onDone(); }
}

function onDone() {
  all.sort(function(a,b) {
    // switch -1 and +1 to invert ordering
    return (a.date < b.date ? -1 : (a.date > b.date ? +1 : 0));
  });

  // do the rendering/appending (you might limit the amount here)
}
...