首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Ember-data获取非传统JSON

使用Ember-data获取非传统JSON
EN

Stack Overflow用户
提问于 2014-05-16 23:56:32
回答 1查看 176关注 0票数 1

我正在使用Ember1.5.1和Ember -data1.0测试版,我正在使用DS.RESTADAPTER类。我有两个模型,比如说PostUser。服务器在GET请求时使用以下JSON进行回复

代码语言:javascript
复制
{
  data: [ .... ]
}

data是由usersposts组成的数组,具体取决于请求。

RestAdapter的设计思想是,与服务器交换的JSON应该是常规的,它希望从服务器返回的JSON应该如下所示

代码语言:javascript
复制
{
  posts: [ .... ]
}

代码语言:javascript
复制
{
  users: [ .... ]
}

这取决于请求。

如何定制ember-data来处理这种情况?

EN

回答 1

Stack Overflow用户

发布于 2014-05-20 20:27:29

通过定制extractArray方法,我能够处理上述问题中描述的情况

代码语言:javascript
复制
// override extractArray method 
App.PostSerializer = DS.RESTSerializer.extend({
  extractArray: function(store, type, payload, id, requestType) {
    var myposts = payload.data;
    var newpayload = { posts: myposts };
    return this._super(store, type, newpayload, id, requestType);
  }
});

以下资源非常有用:

https://github.com/emberjs/data/blob/master/TRANSITION.md#rest-adapter-and-serializer-configuration http://emberjs.com/api/data/classes/DS.RESTSerializer.html#method_extractArray

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23699678

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档