如何序列化Ember-Data

How to serialize Ember-Data

我需要将 Ember 数据序列化为 JSON 并使用 JSON 来提供此 JS 库:http://www.jstree.com/docs/json/

我不知道如何实现。 DS.RESTSERIALIZER 和 DS.EmbeddedRecordsMixin 应该能够实现这一点,但我不知道如何在我的 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' }
  },
});

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