Node.js JSON解析

use*_*980 0 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]
      ]
    }
  ]
}
Run Code Online (Sandbox Code Playgroud)

每次我尝试解析它时,我都使用这样的代码:

var data = JSON.parse(json);
console.log(data);
Run Code Online (Sandbox Code Playgroud)

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

{
  "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]
    }
  ]
}
Run Code Online (Sandbox Code Playgroud)

我尝试了几件事,但我怎样才能获得现场数据rows?解析后,控制台只显示[Object].

hex*_*ide 9

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

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

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