0

次のような 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].

4

2 に答える 2

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 }));
于 2013-09-24T01:23:43.947 に答える
0

コードをテストしました。大丈夫だよ。

   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 }));
于 2013-09-24T01:38:54.797 に答える