情報アイランド

「情報を制する者は世界を制す」をモットーに様々な情報を提供することを目指すブログです。現在はプログラミング関連情報が多めですが、投資関連情報も取り扱っていきたいです。

Node.jsで標準出力にJSONデータを整形して出力する

標準出力にJSONデータを出力する方法としてはconsole.dir関数を使用する方法がありましたが、この関数は整形して出力することができませんでした。

標準出力にJSONデータを整形して出力するにはprettyjsonモジュールのprettyjson.render関数とconsole.log関数を組み合わせます。

var prettyjson = require('prettyjson');

console.log(prettyjson.render({ foo: 'aaa', bar: 'bbb' }, {
    noColor: true, 
    keysColor: 'xxx',
    dashColor: 'yyy',
    stringColor: 'zzz'
}));

まず、prettyjson.render関数を呼び出します。

第1引数にオブジェクトを指定します。

第2引数にオプションをオブジェクトとして指定します。この引数は指定しなくても構いません。

オプションには下のようなものがあります。

  • noColor・・・色付きの文字列を出力しないかを真偽値として指定します。
  • keysColor・・・プロパティ名の色を指定します。noColorオプションがtrueである場合には無視されます。
  • dashColor・・・配列の要素の値の前に付加される-の色を指定します。noColorオプションがtrueである場合には無視されます。
  • stringColor・・・プロパティの値の色を指定します。noColorオプションがtrueである場合には無視されます。

なお、色はcolorsモジュールにおける色を指定します。

返り値として文字列が得られます。

次に、console.log関数を呼び出します。

第1引数にprettyjson.render関数の返り値を指定します。

サンプルコード1

prettyjson.js

var prettyjson = require('prettyjson');

console.log(prettyjson.render({ foo: ['aaa', 'bbb', 'ccc'], bar: { baz: 'ddd', qux: 'eee' } }));

使用パッケージ

  • prettyjson
    npm install prettyjsonでインストールします。

実行結果

C:\work\node>node prettyjson.js
foo:
  - aaa
  - bbb
  - ccc
bar:
  baz: ddd
  qux: eee

関連

pizyumi
プログラミング歴19年のベテランプログラマー。業務システム全般何でも作れます。現在はWeb系の技術を勉強中。
スポンサーリンク

-Node.js