Backbone:从JSON创建集合

pws*_*068 16 javascript collections json backbone.js

我正在尝试将JSON(从php的json_encode)加载到Backbone JS集合中.我把问题简化为:

var myJSON = '[{ "id":"1","name":"some name","description":"hmmm"}]';

var myCollection = new MyCollection(myJSON, { view: this });
Run Code Online (Sandbox Code Playgroud)

和:

MyObject = Backbone.Model.extend({

  id: null,
  name: null,
  description: null
});

MyCollection = Backbone.Collection.extend({ 
model: MyObject,
initialize: function (models,options) { }
});
Run Code Online (Sandbox Code Playgroud)

错误:

未捕获的TypeError:不能使用'in'运算符来搜索'id'

类似问题: Backbone:从服务器获取集合

我的JSON肯定看起来格式正确,我错过了一些明显的东西吗?我试图使用简单的id:"1"而不是"id"具有相同的结果.

kin*_*uta 13

您的JSON仍然是字符串格式.在分配之前将它传递给JSON.parse:

var myJSON = JSON.parse('[{"id":1,"name":"some name","description":"hmmm"}]');
Run Code Online (Sandbox Code Playgroud)