Ember.js改变RESTAdapter JSON序列化
Ember.js changing RESTAdapter JSON serialization
我有一个模型,我从一个API查询:
App.Deal = DS.Model.extend({
name: DS.attr('string'),
value_in_cents: DS.attr('number'),
closed_time: DS.attr('date'),
user: DS.attr('object'),
company: DS.attr('object')
});
API返回如下内容:
{
pagination: { page: 1, total: 10 },
entries: [ deal1, deal2, deal3, deal4 ]
}
我已经更新了我的适配器如下:
App.Adapter = DS.RESTAdapter.extend({
url: 'http://api.pipelinedeals.com/api/v3',
serializer: DS.RESTSerializer.extend({
extractMany: function(loader, json, type, records) {
var root = this.rootForType(type);
var roots = this.pluralize(root);
formattedJson = {};
formattedJson[roots] = json.entries;
delete formattedJson.pagination;
this._super(loader, formattedJson, type, records);
}
})
});
newJson
有我想要的格式,但我得到以下错误:
Uncaught Error: assertion failed: You tried to use a attribute type (object) that has not been registered ember-1.0.0-rc.2.js:52
你想从DS.RESTSerializer
继承和覆盖extractMany
有这样的东西:
extractMany: function(loader, json, type, records) {
var root = 'entries';
if (json[root]) {
var objects = json[root], references = [];
if (records) { records = records.toArray(); }
for (var i = 0; i < objects.length; i++) {
if (records) { loader.updateId(records[i], objects[i]); }
var reference = this.extractRecordRepresentation(loader, type, objects[i]);
references.push(reference);
}
loader.populateArray(references);
}
},
由于您的服务器没有将类型设置为根,因此您将无法使用侧加载
相关文章:
- 使用JSON序列化图论树的解决方法
- VB.Net JSON 序列化格式
- JSON 序列化 - 如何取消属性值的引号
- 字符串化和解析 JSON(序列化对象结构)和反序列化,将 JSON 字符串转换为对象结构
- DateTime.Min JSON 序列化不正确
- 为JSON序列化以html形式生成数组时出现问题
- javascript中的JSON序列化和php反序列化
- javascript对象的服务器端类型是什么,使用JSON序列化客户端,通过ajax调用传递
- 重写单曲的Newtonsoft.Json序列化
- Javascript 和 Java Date JSON 序列化
- Json序列化器vs .net序列化类的JQuery AJAX结果数据
- 在JavaScript中,是否有一个词来描述可json序列化的对象
- 从JSON序列化的django对象访问字段值
- 如何解决javascript中使用引号的c# Json序列化解析
- Ember.js改变RESTAdapter JSON序列化
- Web2py: json序列化器和javascript有关于python字符串引号的问题
- JSON序列化忽略loadFromJSON之后fabric.js中的自定义属性
- 在json序列化过程中忽略对象属性
- 无法解析json序列化字符串与mongodb对象id以及""
- 重建JSON序列化的对象