【发布时间】:2017-09-14 20:58:50
【问题描述】:
我无法从数组调用 API 端点。该数组包含我需要输入端点以获取所需数据的值。我遇到的麻烦是当我控制台记录来自 api 调用的数据时,我收到 JSON 文本。但是,当我尝试解析文本并从 JSON 文本中获取特定值时,它并没有给我结果。这是我正在处理的代码:
var http = require("http");
var areaCodes = ["'0071950')", "'0072850')", "'0073450')", "'0075700')", "'0076450')", "'0078700')", "'0900001')", "'0900000')"];
var results = [];
var encode = [];
//source: http://stackoverflow.com/questions/17811827/get-a-json-via-http-request-in-nodej
for(var i = 0; i < areaCodes.length; i++){
var realmStatus = "http://api.dol.gov/V1/Statistics/OES/OE_SERIES/?KEY=XXXXXXXXXXXXXXXXXXXXXXXXXX&$filter=(OCCUPATION_CODE eq '151131' ) and (AREA_CODE eq " + areaCodes[i];
encode.push(encodeURI(realmStatus));
var options = {
host: 'api.dol.gov',
path: encode[i],
type: 'GET',
dataType: 'json',
headers: {'accept' : 'application/json'}
};
console.log("Start");
var x = http.request(options,function(res){
console.log("Connected");
var str = '';
res.on('data', function(chunk) {
str += chunk;
});
res.on('data',function(data){
if(res.statusCode == 200){
//console.log("res status is good");
try{
var dataA = JSON.parse(str);
//run a for loop
for(var h = 0; h < dataA.d.results.length; h++){
var seriesNum = dataA.d.results[h].SERIES_ID;
array.push(seriesNum);
console.log(seriesNum);
}
//end for
}catch(e){
console.log('Error parsing JSON');
}
}
});
});
x.end();
}//end for loop
如果有人愿意解释我是否做错了什么,或者我是否遗漏了什么,我将不胜感激。谢谢!
【问题讨论】:
标签: javascript json node.js