JSON を整形する方法
- JSON を貼り付けるか、
.jsonファイルをエディタにドロップ、または URL から読み込みます。 - 整形をクリック(または Ctrl+Enter)し、2 スペース、4 スペース、タブから選びます。圧縮はすべての空白を削除し、キーをソートはプロパティをアルファベット順に並べ替えます。
- JSON が無効な場合は、エラーボックスに行・列・原因が表示され、該当する行がハイライトされます。修復を使えば、末尾のカンマ、コメント、引用符などのミスを自動で修正できます。
データを一切変えない JSON 整形
多くのオンライン整形ツールはデータを JSON.parse と JSON.stringify に通すため、知らないうちに内容が変わってしまいます。12345678901234567890 のような大きな整数は丸められ、1.50 は 1.5 になり、"10" のような数字のキーはオブジェクトの先頭に移動します。この JSON 整形ツールは空白だけを変更するため、数値、エスケープシーケンス、キーはすべて入力したとおりに保たれます。
- 整形(beautify):2 スペース、4 スペース、タブでインデントします。
- 圧縮(minify):すべての空白を取り除き、データサイズを最小にします。
- キーをソート:すべての階層でオブジェクトのキーをアルファベット順に並べ替えます。2 つのファイルを比較する前に便利です。
- 検証:厳密な JSON パーサーが、最初のエラーの正確な行と列を報告します。
- 統計:サイズ、キー・オブジェクト・配列の数、ネストの深さを表示します。
「修復」機能で直せるエラー
JavaScript のコード、Python、ログ、AI チャットの回答からコピーした JSON は、ほぼ正しいのに少しだけ壊れていることがよくあります。「修復」はそれを厳密な JSON に変換します。
| 問題 | 修復前 | 修復後 |
|---|---|---|
| 末尾のカンマ | {"a": 1,} | {"a": 1} |
| コメント | // note、/* … */ | 削除 |
| シングルクォート | {'a': 'b'} | {"a": "b"} |
| 引用符のないキー | {a: 1} | {"a": 1} |
| Python の値 | True、False、None | true、false、null |
| NaN、Infinity、undefined | {"x": NaN} | {"x": null} |
| カンマの不足 | [1 2 3] | [1, 2, 3] |
| 閉じていない括弧 | {"a": [1, 2 | {"a": [1, 2]} |
| 複数の値(JSON Lines) | {"a":1} {"a":2} | [{"a":1}, {"a":2}] |
コードやコマンドラインで JSON を整形する
- JavaScript:
JSON.stringify(data, null, 2) - Python:
json.dumps(data, indent=2)、またはターミナルでpython -m json.tool file.json - jq:
jq . file.jsonで整形、jq -c .で圧縮、jq -S .でキーをソート - PHP:
json_encode($data, JSON_PRETTY_PRINT)
ただし、これらはいずれもデータを再エンコードするため、このページの整形ツールとは異なり、非常に大きな数値が丸められることがあります。
JSON Format Onlineが選ばれる理由
- 無料すべてのツールを無料でご利用いただけます。利用制限やアカウント登録は不要で、透かしも入りません。
- プライバシー保護処理はすべてお使いのブラウザ内で行われます。ファイルがアップロードされることはありません。
- 高速軽量なページなので、どのデバイスでもすぐに表示されます。
- どこでも使えるWindows、macOS、Linux、Android、iPhoneでご利用いただけます。
よくある質問
JSON はサーバーにアップロードされますか?
いいえ。整形・検証・修復はすべてブラウザ内で実行されます。URL から読み込みだけは、ブラウザが他サイトからの直接ダウンロードをほとんどブロックするため、当サイトのサーバー経由でファイルを取得します。内容はそのままお使いのブラウザに渡され、保存されることはありません。
「Unexpected token」エラーが出るのはなぜですか?
JSON は JavaScript より厳格です。キーと文字列にはダブルクォートが必要で、末尾のカンマやコメントは使えず、NaN や undefined のような値も存在しません。このツールは問題の内容と位置を正確に示し、ほとんどのミスは「修復」で自動的に直せます。
整形すると数値やキーの順序は変わりますか?
いいえ。大きな整数、末尾の 0、エスケープシーケンス、キーの順序はそのまま保持されます。プロパティの順序を変えるのは「キーをソート」だけで、その場合でも数値の桁は元のまま残ります。
どのくらいの大きさの JSON まで扱えますか?
最新のデスクトップブラウザなら、数十 MB のファイルも扱えます。エディタは表示中の行にだけ行番号を描画するため長いドキュメントでも軽快に動作し、大きなファイルの奥深くにあるエラーも報告されます。