emberdata 1.13将json转换为JSONAPI

时间:2015-07-06 14:01:54

标签: ember.js ember-data jsonserializer json-api

即时通讯使用Ember Data 1.13.3。我想使用JSONAPISerializer中的normalizeResponse将旧的JSON格式转换为新的 JSONAPI 格式。

例如我的json来自像

这样的网络服务



{
  user: { id: 1, name: 'wecc', accounts: [1, 2] },
  accounts: [
    { id: 1, email: 'wecc@sweden.se' },
    { id: 2, email: 'wecc@greece.gr' }
  ]
}




现在在我的JSONAPISerializer中如何从旧的json中获取JSONAPI格式。我变老了格式。但我希望这种格式自动转换为JSONAPI。喜欢下面的一个



{
  data: { 
    id: '1', 
    type: 'user', 
    attributes: {
      name: 'wecc'
    }, 
    relationships: {
      accounts: {
        data: [
          { id: '1', type: 'account' },
          { id: '2', type: 'account' }
        ]
      }
    }
  },
  included: [{ 
    id: '1',
    type: 'account',
    attributes: {
      email: 'wecc@sweden.se'
    }
  }, {
    id: '2',
    type: 'account',
    attributes: {
      email: 'wecc@greece.gr'
    }
  }]
}




我从ember本身找到了一些帮助。

http://emberjs.com/blog/2015/06/18/ember-data-1-13-released.html#toc_internal-format-change-to-json-api 他们建议使用 normalizeResponse

1 个答案:

答案 0 :(得分:0)

不会自动发生。如果您也在控制REST API,我建议您对服务器本身的数据进行规范化。否则,如您所建议,它必须在eqId内进行,但编写的自定义代码与您的数据格式相匹配。

另一个解决方案是暂时继续使用date_并等到JSON API规范变得更受欢迎。大多数服务器框架都可能会发布工具,以便在未来几个月内提供标准的JSON API负载。