[Node.js] JSONをキレイに整形して出力する

  • このエントリーをはてなブックマークに追加
  • LINEで送る

小ネタです。
結論から言うと、JSON.stringify()の第2引数にnull、第3引数に数値を指定することで人間がパッと見て分かるよう整形した文字列が返されます。

const data = [
  {
    "season": "202004",
    "title": "乙女ゲームの破滅フラグしかない悪役令嬢に転生してしまった…",
    "company": "SILVER LINK."
  },
]

// 機械に優しい
const str1 = JSON.stringify(data);
console.log(str1)

// 人間に優しい
const str2 = JSON.stringify(data, null, 2);
console.log(str2)
- Sponsored Link -

実際に実行すると以下の通り。str1は直接プログラムから読み込むのに適しています。通常RESTfulAPIなどに渡す場合はこちらを利用します。

[{"season":"202004","title":"乙女ゲームの破滅フラグしかない悪役令嬢に転生してしまった…","company":"SILVER LINK."}]

str2は第3引数で渡した数値の分だけインデントされ人間がパッと見て分かる書式になっています。デバッグなどで利用する場合はこちらが便利ですね。

[
  {
    "season": "202004",
    "title": "乙女ゲームの破滅フラグしかない悪役令嬢に転生してしまった…",
    "company": "SILVER LINK."
  }
]

なお、第3引数で指定する数値は1〜10の間で指定し、それ以上大きい値は最大値である10として扱われるようです。

これが Number のときは、空白として使う空白文字の数を示します。この数の上限は10です (それより大きい数値は、単に 10 となります)。 1 より小さい値は空白を使わないことを示します。
※MDNより

それはさておき「はめふら」面白いですよね。

参考ページ

このブログを応援する

お寄せいただいたお気持ちは全額サーバ代や次の記事を執筆するための原資として活用させていただいております。この記事が参考になった場合などぜひご検討ください。

PayPal(ペイパル)
PayPalで500円支払う
※金額は任意で変更できます。
※100円でも泣いて喜びますw
※住所の入力欄が現れた場合は「no needed」を選択ください
これまでのご協力者さま
- Sponsored Link -

ご質問やリクエストなどお気軽に。メールアドレスの入力は任意です。書き込みが反映されるまで時間がかかります。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください