javascript - 我正在尝试使用 NodeJS 从 JSON 数据中提取某些值

标签 javascript ruby-on-rails json node.js

情况如下:

我有一个 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/

相关文章:

ruby-on-rails - PostgreSQL 错误 : could not connect to database template1: could not connect to server:

javascript - 使用正则表达式循环 Json 数据

javascript - 在 javascript 和/或 html 中隐藏动态 div 元素

javascript - google.ads.search.Ads() 的回调函数

javascript - jQuery:绑定(bind)一个元素以在其内容更改时显示/隐藏

ruby-on-rails - 使用 Rails 即时生成唯一 token

ruby-on-rails - Rails 错误:未初始化常量 ApplicationController::Authentication

json - Angular 4 - 将 JSON 映射到模型,反之亦然

java - 如何过滤自定义ArrayList

javascript - 使用 onsubmit 通过 JavaScript 验证表单