gpt4 book ai didi

javascript - Ember - 如何清理 JSON 响应

转载 作者:行者123 更新时间:2023-12-03 07:18:27 24 4
gpt4 key购买 nike

我对 EmberJS 还很陌生,不幸的是我必须处理不包含根或 ids 的 JSON,而且我似乎找不到任何明确的方法来完成我想要做的事情,即只是为了清理响应。

我认为我需要使用 ember 序列化器来执行此操作。

这是我目前从 api/locations 获得的内容:

[
{
"uri": "/location/1",
"name": "ATLANTA"
},
{
"uri": "/location/2",
"name": "NORTH VIRGINIA"
}
]

我假设我需要它看起来像这样,带有 root 和 id:

{
"locations":[
{
"id":"1",
"uri":"/location/1",
"name":"ATLANTA"
},
{
"id":"2",
"uri":"/location/2",
"name":"NORTH VIRGINIA"
}
]
}

我在app/serializers/location.js下添加了一个JSONSerializer

import DS from 'ember-data';

export default DS.JSONSerializer.extend({
// how can I manufacture an id here, say with index
// how to I assign it to a root called "locations"
});

仅通过包含此 JSONSerializer,我确实在商店中获得了一条记录,但它只是一条记录,我认为这是因为它们没有 id,否则两个条目都会显示。

only one record and no id

我需要帮助和示例来了解如何开始处理这些数据。我尝试过的例子没有做任何事情。

最佳答案

看来 JSONSerializer 修复了我提到的根本问题,但我能够通过尝试序列化器上的可用方法来解决我的 id 问题,直到找到可行的方法。我的最终解决方案如下所示:

 export default DS.JSONSerializer.extend({

normalize: function(typeClass, hash) {
hash['id'] = parseFloat(hash.uri.match(/\d+/g))
return this._super.apply(this, arguments);
}

});

很简单,但是,哇,我找不到一个示例来说明如何执行此类操作。

关于javascript - Ember - 如何清理 JSON 响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36310744/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com