我正在使用ember-data来获取我的路径api上的所有事件:/api/events
,问题是返回的JSON不符合Ember的请求,我能做什么解决它?
这是我的代码:
适配器和序列化器:
SiteApp.ApplicationAdapter = DS.RESTAdapter.extend({
namespace: 'api'
});
SiteApp.ApplicationSerializer = DS.RESTSerializer.extend({
primaryKey: '_id'
});
EventModel:
SiteApp.Event = DS.Model.extend({
description : DS.attr(),
name : DS.attr().
type : DS.attr()
});
在路线中我有this.store.findAll('event');
JSON是这样的:
{
data: [{
_id: "55f660bdd80a0fd2e298f333",
attributes: {
description: "test",
name: "name",
is_active: false
},
type: "events"
}]
}
如果我更改“事件”的“数据”,这将有效,但我不能,这不是一个选项。
可以通过其他方式解决吗?
答案 0 :(得分:0)
您无法直接更改该对象上的键名称,但您可以创建一个具有event
属性的新对象,并将data
的值分配给该属性:
var newobj = {};
newobj.event = obj.data;