规范化JSON名称的名称

时间:2015-10-02 14:28:11

标签: javascript json ember.js ember-data

我正在使用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"
  }]
}

如果我更改“事件”的“数据”,这将有效,但我不能,这不是一个选项。

可以通过其他方式解决吗?

1 个答案:

答案 0 :(得分:0)

您无法直接更改该对象上的键名称,但您可以创建一个具有event属性的新对象,并将data的值分配给该属性:

var newobj = {};
newobj.event = obj.data;

DEMO

相关问题