【发布时间】:2015-11-07 18:20:49
【问题描述】:
情况如下:
我有一个 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 屏幕。
【问题讨论】:
-
Object–{...}– 嵌套在一个数组中 –[...]。要访问对象,您必须首先访问数组的索引——responseB[0].cohort。欲了解更多信息:Access / process (nested) objects, arrays or JSON -
这完全有道理。让我再搞点什么,然后我会告诉你的!
-
下面的答案完全有效,但它使用相同的逻辑。谢谢!
标签: javascript ruby-on-rails json node.js