如何过滤govmap API返回结果,仅保留其中data字段内的数值?

我正在使用名为govmap的API,官方文档地址:https://api.govmap.gov.il/#intersect-features,以下是会在开发者工具中输出返回结果的函数:
该函数定义在index.html的head标签内
function showExample() { var params = { type: govmap.locateType.lotParcelToAddress, address: 'jerusalem 21, tel aviv' } govmap.searchAndLocate(params).then(function (response) { console.log(response) }); }
可行实现方案
方案1:直接提取data字段
govmap.searchAndLocate返回的响应对象默认包含data字段,你只需要在回调中直接取response.data输出即可,修改后的代码如下:
function showExample() { var params = { type: govmap.locateType.lotParcelToAddress, address: 'jerusalem 21, tel aviv' } govmap.searchAndLocate(params).then(function (response) { // 直接提取data字段输出 console.log(response.data) }); }
方案2:添加容错处理(推荐)
为了避免接口返回异常、data字段不存在时引发报错,可以加一层存在性判断:
function showExample() { var params = { type: govmap.locateType.lotParcelToAddress, address: 'jerusalem 21, tel aviv' } govmap.searchAndLocate(params).then(function (response) { if(response && response.data) { console.log(response.data) // 如果需要后续处理data,也可以在这里调用其他函数传入data // handleData(response.data) } else { console.log('返回结果中无有效data字段') } }); }
如果需要将过滤后的data内容返回给函数外部使用,可以改造函数为返回Promise的形式,外部调用时接收data值即可。
内容的提问来源于stack exchange,提问作者Ben Cohen
相关产品推荐
相关产品推荐

