我想过滤掉http.get上不需要的信息,以便在我的sqlite数据库中节省空间,而且通常没有大量我永远不会使用的已保存数据。
http.get
platform.ready().then(() => {
this.http.get('https://www.reversegeocoder.com/api/v1/yoursecretapikey/lsd')
.map(res => res.json())
.subscribe (data => {
let lsd_info = data;
console.log('lsd Fetch', lsd_info);
});
}
来自服务器的响应(可能更大)
[
{
"query": "1-6-67-13 W4",
"response": {
"status": "ok",
"err": [],
"lat": 54.763928,
"lng": -111.96659,
"latlngms": "54° 46' 50\" N, 111° 58' 60\" W",
"country": "Canada",
"province": "AB",
"city": "Lac La Biche",
"street": "9116 95 Street",
"street_prox": 23,
"near": {},
"address": "9116 95 Street, Lac La Biche, AB",
"lld": "1-SE-6-67-13-4",
"lsd": "1-6-67-13 W4",
"lsd_ra": "",
"uwi": "",
"nts": "",
"nts_border": [],
"utm": "12N 437807E 6068951N",
"utm_v": "Zone 12, 437807 meters easting, 6068951 meters northing (Northern Hemisphere)"
}
}
]
我想过滤掉大多数数据并仅使用“lat”:54.763928,“lng”: - 111.96659,作为示例,我只能将此信息保存到sqlite数据库。
答案 0 :(得分:1)
根据你的代码,我猜是这样的:
platform.ready().then(() => {
this.http.get('https://www.reversegeocoder.com/api/v1/yoursecretapikey/lsd')
.map(res => res.json())
.subscribe (data => {
let lsd_info = {
lat: data[0].response.lat,
lng: data[0].response.lng
};
console.log('lsd Fetch', lsd_info);
});
}
或者这个:
platform.ready().then(() => {
this.http.get('https://www.reversegeocoder.com/api/v1/yoursecretapikey/lsd')
.map(res => res.json())
.map(res => { return { lat: res.response.lat, lng: res.response.lng } })
.subscribe (data => {
console.log('lsd Fetch', data);
});
}