簡體   English   中英

Node.js JSON解析

[英]Node.js JSON parsing

我有一個看起來像這樣的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確實已成功解析。 在指定depth屬性時,還可以使用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 }));

已經測試過您的代碼。 沒關系。

   var a = {
      "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 util = require('util');

    console.log(util.inspect(a.rowsets[0].rows, { showHidden: true, depth: null }));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM