Angular获取JSON作为地图

时间:2019-03-28 13:03:34

标签: angular typescript

我具有以下JSON结构

{
"2019-03-27T21:00":23,
"2019-03-27T21:30":13,
"2019-03-27T21:48":20,
"2019-03-27T20:42":16
}

我想将此输入到打字稿Map<Date, number>

我尝试在http通话中声明地图

this.http.get<Map<Date, number>>

不幸的是,这并没有给我地图,在response.values()上未定义调用values()

我如何将Json带到Map<Date, number>

1 个答案:

答案 0 :(得分:3)

说您的响应类型为Map<Date, number>不会强制转换您收到的数据,这只是出于Typescript intellisense的意义,即您所说的响应类型为Map<Date, number>,但实际响应仍然是一样。

执行此操作:

this.http.get<Map<Date, number>>(url).pipe(map(data) => {
    return new Map(Object.entries(data))
})