主干从特定的Json属性创建集合

主干从特定的Json属性创建集合,json,parsing,backbone.js,collections,Json,Parsing,Backbone.js,Collections,我很难理解主干集合是如何映射外部json文件的……如果您有一种json,并且您只从该json的特定区域创建模型,那么您是如何做到的 var Comic = Backbone.Model.extend(); var ComicCollection = Backbone.Collection.extend({ url: 'http://www.theurlofthejson.com', parse: fu

我很难理解主干集合是如何映射外部json文件的……如果您有一种json,并且您只从该json的特定区域创建模型,那么您是如何做到的

            var Comic = Backbone.Model.extend();
            var ComicCollection = Backbone.Collection.extend({
            url: 'http://www.theurlofthejson.com',
            parse: function (response) {
                  return response.comicsbooks;
                  },
            model: Comic,
           });
如果这样,我将创建一个集合

var comicCollection = new ComicsCollection();
如果有人做了这个

console.log(comicCollection.fetch())
它将返回未在comicsbooks级别解析的整个json

为什么要获取json对象的整个结构,而不仅仅是comicbooks属性

我的问题基于此,但实施/解决方案不适合我

抱歉,我错过了所附url的json响应示例:

{
    "status": "ok",
    "count": 1,
    "count_total": 4,
    "pages": 4,
    "comicsbooks": [
        {
            "id": 363,
            "type": "american_comics",
            "status": "publish",
            "title": "Popeye"
        }
    ]
}

您的
parse
方法错误。看起来您正在覆盖
Comic
模型变量。如果您只希望
comicbooks
属性组成您的收藏,请执行以下操作:

parse: function(response){
    return response.comicbooks;
}

是的,我覆盖了漫画模型,但这对我来说(单独)有效。事实上,这不是一个好的解决方案,因为我需要创建一个模型,然后覆盖它……这是告诉集合她必须只映射json响应的一个属性的正确方法?这可能对您很有用,但这样做没有意义。为什么要将
response.comicbooks
分配给
Comic
Comic
是一个主干模型,
response.comicbooks
是您想要注入到集合中的原始JSON,只需返回
response.comicbooks
。主干将负责其余部分,就像从服务器响应中的
comicbooks
数组中的每个对象在集合中创建模型一样。事实上,您最后评论的是“主干将负责其余部分,就像从服务器响应中的comicbooks数组中的每个对象在集合中创建模型一样”。。。我真的不明白主干是如何与json文件一起工作的,你如何告诉它你只想从json文件中的atribute构建漫画模型……我的意思是你如何告诉它你不需要所有其他属性?