如何从返回根参数和数组的JSON API调用创建Backbone Collection

时间:2011-08-13 17:14:37

标签: backbone.js

Backbone.js noob here。

我想从我的应用程序外部的JSON API创建一个集合。具体来说,来自Stackoverflow的api。我知道我应该从这样的集合中设置url参数:

App.Collections.Users = Backbone.Collection.extend({
    model: User,
    url: "http://api.stackoverflow.com/1.1/users/800271;562692?jsonp=?&key=blahblah"
});

问题是JSON API返回类似于:

的内容
{
 "total": 2,
 "users": [
  {
   "user_id": 800271,
  },
  {
   "user_id": 800272,
  }
 ]
}
}

如何忽略“总计”属性?

1 个答案:

答案 0 :(得分:31)

如果这是您的应用中唯一使用此类API的集合,您只需要覆盖parse方法:

App.Collections.Users = Backbone.Collection.extend({
    // ...
    parse: function(resp, xhr) {
        return resp.users
    }
})

如果您还需要保存模型,可能需要覆盖Backbone.sync。不要犹豫,阅读backbone's source:它已经过全面注释,易于理解。