javascript - Node.js JSON 解析

标签 javascript json node.js

我有一个如下所示的 JSON 字符串:

{
  "resultType" : "history",
  "currentTime" : "2011-10-22T15:46:00+00:00",
  "columns" : ["date","orders","quantity","low","high","average"],
  "rowsets" : [
    {
      "generatedAt" : "2011-10-22T15:42:00+00:00",
      "rows" : [
        ["2011-12-03T00:00:00+00:00",40,40,1999,499999.99,35223.50],
        ["2011-12-02T00:00:00+00:00",83,252,9999,11550,11550]
      ]
    }
  ]
}

每次我尝试解析它时,我都会使用如下代码:

var data = JSON.parse(json);
console.log(data);

以下是打印到控制台的内容:

{
  "resultType" : "history",
  "currentTime" : "2011-10-22T15:46:00+00:00",
  "columns" : ["date","orders","quantity","low","high","average"],
  "rowsets" : [
    {
      "generatedAt" : "2011-10-22T15:42:00+00:00",
      "rows" : [Object]
    }
  ]
}

我已经尝试了一些方法,但是如何获取 rows 字段中的数据?解析后,控制台只显示[Object]

最佳答案

您看到的输出正是它的显示方式。如果访问data.rowsets[0].rows,可以看到JSON确实已成功解析。您还可以在指定 深度 属性时使用 util.inspect() 来告诉 Node.js 在格式化对象时更深层次地递归。

这是一个使用 util.inspect() 的示例:

var data = JSON.parse(json);
// a null depth means to recurse indefinitely
console.log(util.inspect(data, { depth: null }));

关于javascript - Node.js JSON 解析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18971509/

相关文章:

java - 使用Java API TransmissionWithRecipientArray对象,如何设置像键值数组这样的元素(Sparkpost)

node.js - mongodb 文档中子对象中的 _id(使用 Mongoose)

javascript - Vue.js + Element-ui上传: how call method ClearFiles or Abort

json - NetcatSource:客户端发送的长度超过最大长度

javascript - 使用 jquery 的点击事件进行分页

iphone - 第二次调用时使用 JSONKit 发生内存泄漏

javascript - 无法在nodeJS中调用Socket.on()

node.js - "Client network socket disconnected before secure TLS connection was established", Node 10

javascript - 在 Node.js 中混合使用 JavaScript 和 TypeScript

javascript - Dojo 增强网格 : how to get selected column?