过滤掉ionic 2 App中http请求中不需要的信息

时间:2016-06-01 18:39:44

标签: javascript ionic2

我想过滤掉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数据库。

1 个答案:

答案 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);
    });
}