コマンドラインでJSON整形する方法

ターミナルやコマンドプロンプトでJSONファイルを簡単に整形・フォーマットする方法をご紹介します

コマンドラインでJSONファイルを整形する3つの方法

1. jqコマンドを使用する方法

jqは強力なJSON処理ツールで、以下のコマンドで整形できます:

cat user.json | jq .
整形前
{"name":"Jim","email":"[email protected]"}
整形後
{
  "name": "Jim",
  "email": "[email protected]"
}

2. Pythonを使用する方法

Pythonの組み込みモジュールを使用して整形できます:

cat user.json | python -mjson.tool

3. Node.jsを使用する方法

Node.jsのコマンドラインで直接JSONを整形できます:

echo '{"name":"BigManing"}' | node -e "console.log(JSON.stringify(JSON.parse(require('fs').readFileSync(0)), null, 2))"

これらのコマンドは、パイプラインやリダイレクトと組み合わせることで、より複雑なJSON処理も可能です。

コマンドラインツールのインストール方法

jqのインストール

  • Windows: choco install jq
  • macOS: brew install jq
  • Ubuntu: apt-get install jq

Python

Python は標準でjson.toolモジュールを含んでいます

高度な使用方法

jqの高度なフィルタリング

  • jq '.name' - 特定のフィールドを抽出
  • jq '.[] | select(.age > 20)' - 条件でフィルタリング
  • jq 'map(select(.active == true))' - 配列の処理

よくある質問

Q: 大きなJSONファイルを処理する場合はどうすればよいですか?

A: jqやPythonのストリーミング処理を使用することで、メモリ効率よく大きなファイルを処理できます。

Q: バッチ処理で複数のJSONファイルを整形するには?

A: シェルスクリプトやバッチファイルを使用して、複数のファイルを一括処理できます。

Q: Windows環境での注意点は?

A: Windows環境では、WSL(Windows Subsystem for Linux)を使用するか、PowerShellでJSON処理を行うことをお勧めします。