我试图从NodeJS中提取JSON数据的某些值

情况如下:

我有一个Rails应用程序,它会刮掉一个网站,并将有效的JSON输出到一个平静的API端点。

到目前为止,我可以得到与我的Node.js脚本的JSON,但我不能将我需要的值存储到本地variables。

这是json:

[{"cohort":"1507","teacher":"Josh M."}] 

我想将"1507"存储在一个variables以及"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); }); 

任何帮助将不胜感激!

我已经尝试了一些我发现的function,但由于某种原因,我的所有console.log(Object.keys)返回数字,如"1""2""3"等。

我需要将这些值作为variables存储的原因是,我将通过Arduino使用johnny5库将这些值输出到LCD屏幕。

您用于发送到节点的rails应用程序是一个长度为1的数组,它是一个对象。 要访问该对象,你必须说出你正在访问哪个数组元素。 在这种情况下,数组[0]。 看来你的rails scraper正在填充一个数组。

要访问你提到的variables你会简单

  //Access that 1507 var variable1 = payloadFromRails[0].cohort; //Access that teach, Josh M. var variable2 = payloadFromRails[0].teacher; 

尝试在parsing的jsonstring的索引0处select对象

 var response = '[{"cohort":"1507","teacher":"Josh M."}]'; var responseB = JSON.parse(response); var keys = Object.keys(responseB[0]); var cohort = responseB[0][keys[0]]; var teacher = responseB[0][keys[1]]; console.log(cohort, teacher)