Как преобразовать массив json в базовую коллекцию

Это данные json, возвращаемые службой rest-full в качестве ответа:

{
 "calendarEvent":[
 {
 "event_date":"2014-09-01",
 "event_location":"bbbbb",
 "event_name":"aaaa"
 },
 {
 "event_date":"2014-08-04",
 "event_location":"hotel",
 "event_name":"bday"
 },
 {
 "event_date":"2014-09-11",
 "event_location":"cccc",
 "event_name":"aaaa"
 }
 ]
}

Как я могу преобразовать этот массив json в базовую коллекцию?

1 ответ

Переопределите команду collection.parse когда вы хотите настроить, как Backbone обрабатывает ответ сервера:

parse collection.parse (ответ, параметры) parse вызывается Backbone всякий раз, когда модели коллекции возвращаются сервером в режиме выборки. Функция передается объекту исходного ответа и должна возвращать массив атрибутов модели, которые будут добавлены в коллекцию.

В вашем случае ваша коллекция будет выглядеть так:

var C = Backbone.Collection.extend({
 parse: function(response) {
 return response.calendarEvent;
 }
});

licensed under cc by-sa 3.0 with attribution.