我正在尝试使用Node.js从API获取响应,我想要清洁API响应并使用结果。
所以为了访问第一个API,我有以下代码。
为了存储和使用结果,我相信我需要全局存储JSON输出。
但是,我无法弄清楚如何实现这一点。
例子 -
这将输出所需结果,但我知道这是因为我的变量是在函数内定义的。
我想在函数外部访问变量。
为了测试是否可以这样做,我更改了代码为-
但如果我这样做,我会得到:
所以为了访问第一个API,我有以下代码。
为了存储和使用结果,我相信我需要全局存储JSON输出。
但是,我无法弄清楚如何实现这一点。
例子 -
var request = require('request');
request({url: 'https://www.car2go.com/api/v2.1/vehicles?loc=wien&oauth_consumer_key=car2gowebsite&format=json', json: true}, function(err, res, json) {
if (err) {
throw err;
}
car2go = json.placemarks;
for (i = 0; i < car2go.length; i++) {
delete car2go[i].address;
delete car2go[i].charging;
delete car2go[i].exterior;
delete car2go[i].interior;
delete car2go[i].smartPhoneRequired;
delete car2go[i].vin
car2go[i].vendor = 'car2go';
car2go[i].city = 'wien';
car2go[i].carmake = 'Smart';
car2go[i].carmodel = 'Fortwo';
}
console.log(car2go);
});
这将输出所需结果,但我知道这是因为我的变量是在函数内定义的。
我想在函数外部访问变量。
为了测试是否可以这样做,我更改了代码为-
var request = require('request');
request({url: 'https://www.car2go.com/api/v2.1/vehicles?loc=wien&oauth_consumer_key=car2gowebsite&format=json', json: true}, function(err, res, json) {
if (err) {
throw err;
}
car2go = json.placemarks;
for (i = 0; i < car2go.length; i++) {
delete car2go[i].address;
delete car2go[i].charging;
delete car2go[i].exterior;
delete car2go[i].interior;
delete car2go[i].smartPhoneRequired;
delete car2go[i].vin
car2go[i].vendor = 'car2go';
car2go[i].city = 'wien';
car2go[i].carmake = 'Smart';
car2go[i].carmodel = 'Fortwo';
}
});
console.log(car2go);
但如果我这样做,我会得到:
。
ReferenceError: car2go is not defined
我在Mac OS Yosemite(10.10.3)上运行Node v0.12.2。
诚然,我对Node很陌生,更熟悉R、Python和PL SQL。