情况如下:
我有一个 Rails 应用程序,可以抓取网站并将有效的 JSON 输出到 Restful API 端点。
到目前为止,我可以使用 Node.js 脚本获取 JSON,但无法将所需的值存储到局部变量。
这是 json:
[{"cohort":"1507","teacher":"Josh M."}]
我想将“1507”
以及“Josh M”存储在变量中
我当前的脚本是:
var http = require('http');
var url = 'http://localhost:8080/api/v1/classroom_bs';
http.get(url, function(res){
var body = '';
res.on('data', function(chunk){
body += chunk;
});
res.on('end', function(){
var responseB = JSON.parse(body);
var responseBStr = JSON.stringify(body);
var jsonB = JSON.parse(responseBStr);
console.log(responseB);
console.log(responseBStr);
console.log(jsonB);
});
}).on('error', function(e){
console.log("Error: ", e);
});
任何帮助将不胜感激!
我尝试了在 SO 上找到的一些函数,但由于某种原因,我所有的 console.log(Object.keys)
返回数字,例如 "1"
、"2"
、"3"
等。
我需要将这些值存储为变量的原因是我将通过 Arduino 使用 johnny5 库将这些值输出到 LCD 屏幕。
最佳答案
您用来发送到 Node 的rails应用程序是一个长度为1的数组,它是一个对象。要访问该对象,您必须说出您正在访问哪个数组元素。在本例中为数组[0]。您的 Rails scraper 似乎正在填充一个数组。
要访问您提到的变量,您只需
//Access that 1507
var variable1 = payloadFromRails[0].cohort;
//Access that teach, Josh M.
var variable2 = payloadFromRails[0].teacher;
关于javascript - 我正在尝试使用 NodeJS 从 JSON 数据中提取某些值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33586178/