JSON 整形とインデント: タブ vs スペースの実践指針
2024-06-14
整形は見た目だけの問題ではありません。インデントを揃えるとレビュー効率が上がり、マージ時のノイズも減ります。選び方と圧縮の使い分けを確認しましょう。
JSON 仕様における空白文字
スペースや改行はパーサーにとって意味を持たず、スタイルは人間とチームの読みやすさの問題です。
タブ vs スペース
エディタ間の一貫性と差分の見やすさのため、通常はスペース推奨です。タブも合法ですが公開 JSON 例ではほとんど使われません。
2 スペース vs 4 スペース
フロントエンドや Node では 2 スペースが主流、Java/Python 系では 4 スペースも見られます。リポジトリ内で 1 つに統一しましょう。
{
"user": {
"name": "Alice",
"roles": ["admin", "editor"]
}
}整形(Pretty-print)する場面
デバッグ、ドキュメント、手編集時に有効です。レビュー前に整形すれば差分が本質的な変更だけになります。
ミニファイする場面
本番転送や保存サイズ削減向けです。可読版を別に保持し、ミニファイ済み JSON を手作業で編集しないようにします。
チーム運用のヒント
.editorconfig で JSON のインデントを固定し、必要なら CI のパースチェックを追加。公開サンプルは 2 スペースに統一するとよいです。