0

ユーザーを含む次の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" }
]

プロジェクトに1人のユーザーがいる場合、配列にないユーザーハッシュを1つ取得します。

すべてのユーザーでバックボーン コレクションを構築したいと考えています。どうやってするか?

4

2 に答える 2

4

ユーザーの配列の配列を提供します。したがって、init メソッドですべてのユーザーを取得するには、データをユーザーの配列として渡すことができます。つまり、この元の配列の配列をアンダースコア フラット化メソッドで一度フラット化します。

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

次に、コレクション コンストラクターは、json 配列をネイティブに理解します。

しかし、取得メソッドで既にこの変換を行っている可能性があり、これは直面している問題ではありません..

于 2013-04-01T13:52:44.830 に答える
1

ユーザー モデルを使用してコレクション (userCollection など) を定義している場合は、次のように簡単に実行できるはずです。

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

これはコレクションのフェッチ関数で行われる可能性が高くなりますが、ここでの原則は、オブジェクトの配列をコレクションに渡すことができ、json からバックボーン モデルまですべてをマーシャリングすることです。

于 2013-04-01T13:29:40.090 に答える