tkuchikiの日記

新ブログ https://blog.tkuchiki.net

node.jsで標準出力にRFCに準拠したJSONを出力する方法

node.js で標準出力にデータを出力する場合、
console.log() を使うと思うが、下記のように、

console.log({"foo":"bar", "hoge":"piyo"});
{ foo: 'bar', hoge: 'piyo' }

 

  • keyがダブルコーテーションで囲まれていない
  • valueがシングルコーテーションで囲まれている
  • そこそこ見やすいように改行してくれる

といったように出力される。

これを、

  • keyがダブルコーテーションで囲まれている
  • valueがダブルコーテーションで囲まれている
  • 見やすいように成形しない

などのRFC準拠のJSONデータとして出力したい場合は、
以下のように、printf 構文で記述し、%jを指定する。

console.log("%j", {"foo":"bar", "hoge":"piyo"});
{"foo":"bar"}

 

参考
http://nodejs.jp/nodejs.org_ja/docs/v0.4/api/stdio.html