灰烬-序列化和反序列化的不同密钥

时间:2018-08-13 01:11:08

标签: serialization ember.js ember-data deserialization

我遇到一个问题,需要使用不同的密钥对属性进行序列化和反序列化。

serializer 中,该属性处理键trade

'tradeId': { key: 'trade' },

这在解决反序列化端点时有效。

但是,对于串行化,端点属性称为trade-identifier,要求将序列化程序引用更改为以下内容:

'tradeId': { key: 'tradeIdentifier' },

是否有任何方法可以在Ember序列化程序中定义用于序列化和反序列化的单独密钥?

1 个答案:

答案 0 :(得分:1)

感谢@handlebears在这里向我指出正确的方向。 只需在管理序列化文件中添加一个serialize方法,即可将数据重新分配给适当的JSON属性:

serialize(snapshot, options){
    let json = this._super(...arguments);
    json.tradeIdentifier = json.trade;
    delete json.trade;
    return json;
  }
});