如何从以下json数组创建主干集合

How to create Backbone collection from following json array?

本文关键字:创建 集合 数组 json      更新时间:2023-09-26

我得到以下JSON (/users.json),其中包含用户:

[
  [
    { "id": "43343", "project_id": "1", "username": "Amy" }
    { "id": "34244", "project_id": "1", "username": "Tommy" }
  ],
  [
    { "id": "76575", "project_id": "2", "username": "Izzy" }
    { "id": "13322", "project_id": "2", "username": "Sam" }
  ],
  { "id": "09983", "project_id": "3", "username": "Max" }
]

当项目有一个用户时,我得到一个不在数组中的用户哈希值

我想与所有用户建立一个主干集合。怎么做呢?

您提供了一个用户数组的数组。因此,要在init方法中获取所有用户,你可以给它数据,但作为一个用户数组,也就是说,你将这个原始数组平放一次使用下划线flatten方法:

data = _(data).flatten(true);

那么集合构造函数将会本地理解你的json数组。

但也许你已经在抓取方法中做了这个转换,这不是你面临的问题。

如果你已经用用户模型定义了一个集合(比如userCollection),你应该能够简单地做这样的事情:

var col;
$.getJSON("/users.json", function(data) {
    col = new userCollection(data);
});

这更有可能在集合的fetch函数中完成,但这里的原则是,您可以将一个对象数组传递给集合,它将从json封送所有对象到骨干模型。