# JSON フォーマッター

URL: https://discuvr.org/json-formatter/?hl=ja
Last updated: 2026-11-07
MCP tool: `format_json`

JSONを貼り付けると、インデント、圧縮、検証を即座に実行します。壊れたJSONには正確な行と列が表示され、問題の行も示されます。何も保存されません。

API ログや設定ファイルから出てくる JSON は、たいてい1本の長い行になっており、パースできない JSON はたいてい見えない場所で失敗しています。このツールはそれを読めるようにインデントし、小さくしたいときはミニファイし、壊れている場合は行と列を教えてその行を表示します。

## 機能

- スペース2つ、スペース4つ、またはタブで整形 - あるいは最小の有効な形式にミニファイ。
- JSON Lines 出力:ログやストリーム形式向けに、1行につき1件のコンパクトなレコード。
- 正確なエラー - メッセージ、行、列、そして周囲の行。
- 任意で各オブジェクトのキーをソートし、2つのドキュメントを意味のある形で比較できるようにします。
- 任意で UTF-8 を扱えないシステム向けに、非 ASCII 文字を \uXXXX にエスケープします。
- 任意でコメントと末尾のカンマを受け入れ、何を削除したかを正確に伝えます。
- ドキュメントの構造を報告します:キー、オブジェクト、配列、ネストの深さ、そして節約できたサイズ。

## 仕組み

1. JSON を、あるいは JSON であってほしいものを貼り付けてください。
2. 整形、ミニファイ、JSON Lines のいずれかを選び、フォーマットを押します。
3. 結果をコピーまたはダウンロードするか、エラーを読んで指摘された行を修正してください。

## なぜ整形よりもエラーメッセージのほうが重要なのか

多くの場合、あなたはここに JSON をきれいにするために来ているのではありません - 何かがそれを拒否し、理由を言わなかったからここに来ているのです。パーサーは行、列、そして期待していた内容を報告し、ツールはその行を前後2行とともに表示します。設定ファイルの400行目で見つからないカンマも、場所さえわかれば30秒で直せます。

## コメントと末尾のカンマ

JSON はこの両方を一度も許可したことがありませんが、実際に人から渡されるファイル - tsconfig、VS Code の設定、手作業で編集された何か - はそれらでいっぱいです。オプションにチェックを入れるとパース前にそれらを取り除き、ツールはその後、何個のコメントと何個のカンマを削除したかを明示します。これはオプトインであり、正確に報告されます。なぜなら、ドキュメントを黙って変えてしまうフォーマッターは、拒否するフォーマッターよりも悪いからです。

## このツールがしないこと

あなたの意図を推測することはありません。上記の2つの削除を除けば、何も修復されません:閉じられていない波括弧、シングルクォートのキー、クォートのないキーは報告されるだけで、書き換えられることはありません。キーのソートと再インデントは、配列の順序も文字列も決して変えません。次のセクションでは、それでも出力が貼り付けた内容と異なる可能性のある、いくつかのケースを挙げます。

## 数値、重複したキー、NaN

JSONは解析されてから書き出し直されるため、いくつかの要素は正規化された形で戻ります。数値は書き直されます:1.50 は 1.5 に、1E3 は 1000.0 に、-0 は 0 になり、64ビット浮動小数点数に収まらない桁数の小数は丸められます(0.1000000000000000055 は 0.1 になります)。整数は 4,300 桁までそのまま保持されます(それより長いものは拒否されます)。オブジェクト内でキーが重複している場合、最後の値だけが残り、警告は出ません。NaN、Infinity、-Infinity は、標準のJSON(RFC 8259)では認められていないにもかかわらず受け入れられ、そのまま出力されます。また、1e400 のように浮動小数点数には大きすぎる数は Infinity として出力されます。これらが連携先のシステムにとって重要な場合は、エラーなしの結果を信用する前にご自身で確認してください。

## 質問

**私の JSON はどこかにアップロードまたは保存されますか?**

パースのためにサーバーに送信され、同じレスポンスの中でそのまま返されます。ディスクへの書き込み、キャッシュ、ログ記録は一切行われず、利用記録には件数だけが残ります - サイズ、ネストの深さ、選んだモード - ドキュメントそのものは決して残りません。

**エディタでは受け入れられるのに、なぜ無効だと言われるのですか?**

たいていはコメント、末尾のカンマ、シングルクォート、クォートなしのキーが原因です - これらはすべて設定ファイルではよくあるものですが、どれも正当な JSON ではありません。最初の2つについては「コメントと末尾のカンマを許可」にチェックを入れてください。それ以外は本当に無効なので修正する必要があります。

**大きなファイルも扱えますか?**

1回のリクエストにつき 2,000,000 文字までです。それより長いテキストは、正確な長さを示したうえで拒否されます。そのサイズのファイルには、jq のようなコマンドラインツールのほうが適しています。

**JSON Lines は何のためにあるのですか?**

ログパイプラインやストリーミングローダーは、大きな1つの配列ではなく、1行につき1つの JSON オブジェクトを読み込みます。これを選ぶと、トップレベルの配列が1行につき1件のコンパクトなレコードとして返されます。

**キーをソートするとデータが変わりますか?**

いいえ。オブジェクトのキーの順序は JSON において意味を持たず、意味を持つ配列の順序は決して変更されません。ソートがあるのは、同じドキュメントの2つのバージョンをノイズなしで比較できるようにするためです。

**この JSON を Excel で開くには？**

Microsoft 365 版の Excel では、.json ファイルとして保存し、Data > Get Data > From File > From JSON（データ > データの取得 > ファイルから > JSON から）を選びます。Power Query が開き、最上位の配列は List として表示されます。To Table（テーブルへの変換）で Records の列になり、列見出しの展開ボタン（2 本の矢印）で各キーが別々の列に分かれます。入れ子の配列を展開すると、要素ごとに 1 行ずつ増えます。Power Query には有効な JSON ドキュメントが 1 つ必要なので、まずここで行と列が示されるエラーを直し、整形または最小化の出力を保存してください。JSON Lines の出力はログツール向けです。このツール自体は JSON を CSV や Excel に変換しません。

**コマンドラインで JSON を検証・整形するには？**

Python には検証機能が標準で入っています。python -m json.tool data.json はインデント 4 スペースで文書を出力するか、Expecting ',' delimiter: line 3 column 3 のようなメッセージで停止します。jq が入っていれば、jq . data.json で整形でき、jq empty data.json は検証だけを行い、ファイルが正しければ何も出力しません。どちらもコメントや末尾のカンマを受け付けないため、それらを含む設定ファイルはそこでエラーになります。ここに貼り付けて「コメントと末尾のカンマを許可」にチェックを入れると、何が削除されたかを確認できます。

**「Expecting property name enclosed in double quotes」とはどういう意味ですか？**

パーサーがオブジェクトのキーを待っていたのに、別のものを見つけたという意味です。多くの場合、キーがシングルクォートで囲まれているか引用符がありません。Python や JavaScript からコピーした {'name': 'Asha'} は 1 行目 2 列目で止まります。JSON ではすべてのキーと文字列をダブルクォートで囲む必要があり、このツールは引用符を書き換えないため、自分で直してください。同じメッセージが {"a": 1,} のように閉じ波かっこの位置で出る場合は末尾のカンマが原因です。「コメントと末尾のカンマを許可」にチェックを入れると削除されます。True、False、None の位置で Expecting value が出る場合は Python の値です。JSON では true、false、null と小文字で書きます。Python では json.dumps(data) は正しい JSON を出力しますが、print(data) は出力しません。エラーは Python のパーサーが出すとおり英語で表示されるので、メッセージをそのまま検索できます。

**「Extra data」とはどういう意味ですか？**

パーサーが完全な JSON の値を 1 つ読み終えた後に、さらにテキストを見つけたという意味です。よくある原因は、1 行に 1 つのオブジェクトを書いた JSON Lines（NDJSON）のログ（2 行目 1 列目で止まります）、続けて貼り付けた 2 つの文書、最後の閉じ波かっこの後の // コメント（「コメントと末尾のカンマを許可」で削除されます）です。このツールは一度に 1 つの文書を検証するので、1 件だけ貼り付けるか、各レコードをカンマで区切って [ ] で囲んでください。その後 JSON Lines を選ぶと、また 1 行に 1 件ずつ書き出されます。

## 開発者ツールのその他のツール

- [Python Formatter](https://discuvr.org/python-formatter/?hl=ja)
- [HTML ビューア](https://discuvr.org/html-viewer/?hl=ja)
- [IPサブネット計算機](https://discuvr.org/ip-subnet-calculator/?hl=ja)
- [エンコード / デコード](https://discuvr.org/encode-decode/?hl=ja)

## よく一緒に使われるツール

- [CSV から Excel へ](https://discuvr.org/csv-to-excel/?hl=ja)

---

Part of Discuvr (https://discuvr.org/): Discuvr is a collection of free, focused tools for day-to-day professional work - office and data utilities, legal and compliance helpers, privacy and security checks, and developer formatters. Every tool has its own page, and most can also be called from ChatGPT or Claude over MCP.
