如何序列化Ember-Data

时间:2015-03-15 19:52:25

标签: json ember.js ember-data

我需要将Ember-data序列化为JSON并使用JSON来提供这个JS库:http://www.jstree.com/docs/json/

我不知道怎么做到这一点。使用DS.EmbeddedRecordsMixin的DS.RESTSERIALIZER应该可以实现这一点,但我不知道如何在我的Ember-CLI应用程序中调用它们。他们似乎只是为了与后端说话。我的后端是带有Emberfire适配器的Firebase,我不想改变它。 DS.RESTSERIALIZER是我需要的吗?我应该使用JSON.stringify()吗?

我的模特是:

import DS from 'ember-data';

export default DS.Model.extend({
  text: DS.attr('string'),
  order: DS.attr('number', { defaultValue: 0 }),
  cause: DS.belongsTo('cause', { inverse: 'causeUnitLink', async: true}),
  causeUnit: DS.belongsTo('causeUnit', { inverse: 'causeUnitLinks', async: true}),
  parents: DS.hasMany('causeUnitLink', { inverse: 'children', async: true}),
  children: DS.hasMany('causeUnitLink', {inverse: 'parents', async: true}),
});

我创建了下面的灭菌器,但我不知道如何在我的控制器中调用它的方法,所以我可以将ember-data转换为JSON并将JSON提供给我的jsTree组件。

import DS from 'ember-data';

export default DS.RESTSerializer.extend(DS.EmbeddedRecordsMixin, {
  attrs: {
    text: { embedded: 'always' },
    children: { embedded: 'always' }
  },
});

1 个答案:

答案 0 :(得分:0)

我找到的最好方法是使用方法toJSON():http://emberjs.com/api/data/classes/DS.Model.html#method_toJSON

相关问题