我正在使用Angular 5 http Client从API获取数据。这是我的订阅部分
vehicles: Vehicle[];
getVehicleList() {
this.vehicleService.getVehicleData()
.subscribe(data => {
this.vehicles = data
console.log(JSON.stringify(data));}
)
}
车辆界面
export interface Vehicle {
type: string;
}
我得到的JSON看起来像这样
{
"data": [
{
"type": "bus"
},
{
"type": "truck"
},
{
"type": "car"
}
],
"_metadata": null
}
我想使用map函数从上面获取数组。有人可以帮我这个吗?
答案 0 :(得分:0)
我不确定你在这里问什么,但正如Khauri指出的那样,你可以使用data.data
来获取数据数组。
如果你想在它上面使用地图,它将如下所示:
data.data.map(element => console.log(element.type))
这将是pritnt
总线 卡车 车
[编辑]如果你只想获得数组,你应该只使用data.data
假设您正在使用打字稿,您需要在Vehicule
界面添加一个data
字段,这是一个数组。
答案 1 :(得分:0)
在我看来,之前评论的解决方案应该有效。
请确保您将代码更改为以下内容:
vehicles: Vehicle[];
getVehicleList() {
this.vehicleService.getVehicleData()
.subscribe(data => {
this.vehicles = data.data;
})
}