Ember.js 什么';反序列化和规范化之间的区别是什么?

Ember.js 什么';反序列化和规范化之间的区别是什么?,ember.js,ember-data,Ember.js,Ember Data,“反序列化”和“规范化”是同一件事还是有区别?一个直截了当的问题。我相信这对于前端模型和后端数据库源/API的通信是通用的。但如果不是,这是在余烬数据的背景下。存在差异。当您反序列化时,您的意图是从一种形式(比如javascript对象)更改为另一种形式(比如余烬数据模型)。规范化时,您的目的是操作当前表单的数据和/或结构 因此,对于余烬数据,您可以使用以下内容创建RESTSerializer: 序列化,它接受模型并将其转换为普通javascript对象 规范化,它接受一个普通javascri

“反序列化”和“规范化”是同一件事还是有区别?一个直截了当的问题。我相信这对于前端模型和后端数据库源/API的通信是通用的。但如果不是,这是在余烬数据的背景下。

存在差异。当您反序列化时,您的意图是从一种形式(比如javascript对象)更改为另一种形式(比如余烬数据模型)。规范化时,您的目的是操作当前表单的数据和/或结构

因此,对于余烬数据,您可以使用以下内容创建
RESTSerializer

  • 序列化,它接受模型并将其转换为普通javascript对象
  • 规范化,它接受一个普通javascript对象并返回一个普通javascript对象
与之相比:

  • 反序列化给定一个数字或字符串,返回一个日期对象
  • 序列化返回日期对象的字符串表示形式
要将这两件事放在上下文中,请参阅JSONSerializer方法上的文档(这是转换在普通javascript对象上工作的地方):

给定
DS.Model
的子类和JSON对象,此方法将 遍历
DS.Model
的每个属性并调用
DS.Transform#对
JSON对象。此方法通常在
序列化程序的
规范化
方法