我想知道如何从在线托管的链接中获取JSON数据。我正在尝试在服务中获取经纬度坐标,然后在组件中使用它们。
JSON格式类似于:
"devices"{[
"lat": 1234567
"lon": 1234567
]}
我正在尝试这样映射JSON对象:
private busFeed = 'azure.com/file.json';
constructor(private _http: HttpClient) {}
getFirstDevice() {
return this._http.get(this.busFeed).pipe(
map(data => data),
tap(data => console.log('Device Info: ' + JSON.stringify(data)))
);
}
我的TransportComponent是这样的:
this._transportFeed.getFirstDevice()
.subscribe(transportFeed => {
this.devices = transportFeed;
});
我面临的问题是,当我只需要纬度和经度坐标时,这将从JSON文档中获取所有信息。我希望在.ts文件中而不在.html文件中显示,因为我想在地图的地图标记中绘制这些坐标。
答案 0 :(得分:0)
this._transportFeed.getFirstDevice()
.subscribe(transportFeed => {
this.devices = transportFeed.map(obj => ({
lat: transportFeed.lat,
lon: transportFeed.lon
})
});
或
getFirstDevice() {
return this._http.get(this.busFeed).pipe(
map(data => ({ lat: data.lat, lon: data.lon})),
tap(data => console.log('Device Info: ' +
JSON.stringify(data)))
);
}