【发布时间】:2017-12-04 07:25:38
【问题描述】:
我在 Angular 2 中将两个 HTTP API 响应映射到我的模型时遇到问题。通过一个 API 调用,我得到如下结果:
[{
"id": 410,
"name": "Test customdata test",
"layer": [79,94]
}, {
"id": 411,
"name": "Test customdata test2",
"layer": 79
}]
其他请求可以给我这个
[{
"id": 94,
"name": "xy"
}, {
"id": 79,
"name": "abc"
}]
我的模型看起来像这样:
export class Dataset {
public id: number;
public name: string;
public layer: Layer[];
}
export class Layer {
public id: number;
public name: string;
}
我怎么知道将这些 JSON 映射到一个模型中。我需要嵌套 HTTP 请求来获取所有数据,不是吗?如果我做到这一点
this.Http.get('urltogetdataset').map(response => response.json() as Dataset[] )
我得到了我的数据集对象,但当然 layer 参数是一个数字数组。 任何机构对此有想法?谢谢!
【问题讨论】:
-
您是否已经创建了检索响应的方法?
-
是的,我忘了将它添加到问题中。刚刚完成。
-
您是否掌握了 API 以更改响应?
-
改用接口
-
好的,感谢@AluanHaddad 的输入,我以前从未使用过接口,但现在是时候改变它了 :)
标签: json angular typescript mapping