javascript - 访问 JSON 格式的数据

标签 javascript json node.js google-api

我正在对 Google Civic 的 API 执行 GET http 请求,其中我提供一个地址并根据所提供的地址所在位置接收美国政府成员的信息。

//var options has the host, path, etc.
var req = https.request(options, function(res) {
  console.log('STATUS: ' + res.statusCode);
  res.setEncoding('utf8');
  res.on('data', function (chunk) {
    console.log(chunk.normalizedInput) //returns 'undefined'
  });
});

chunk 正在打印此内容:

enter image description here

据我了解,要访问 normalizedInput 中的数据,我会执行 chunk.normalizedInput,对吗?为什么它返回未定义?

最佳答案

通过流获取字符串,需要等待流结束并解析字符串才能操作对象

var req = https.request(options, function(res) {
  console.log('STATUS: ' + res.statusCode);
  var chunks = [];
  res.setEncoding('utf8');
  res.on('data', function (chunk) {
   chunks.put(chunk);
  });
  res.on('end', function () {
   console.log(JSON.parse(chunks.join("")).normalizedInput);
  });
});

关于javascript - 访问 JSON 格式的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40015911/

相关文章:

javascript - 等待 d3 加载

c# - 从 JavaScript 同步服务器端控件

Javascript:更改第三个输入的值时计算金额

javascript - 如何将 JavaScript 变量传递给 Rails 实例变量?

json - YouTube v3 API : List Channel's Videos -- Unauthenticated?

c# - 如何解析多态 JSON 数组?

javascript - ESRI ArcGIS Javascript : Polygon from JSON not working

javascript - 如果使用 Parse 主 key ,是否可以检查 beforeSave 方法内部?

node.js - NodeJS - 问 - 如何在另一个 promise 中传递一个 promise

javascript - Nodejs Angularjs Mongoose Internet Explorer 11 兼容性