Tool overview
JSONフォーマッターとは?
JSONフォーマッターは、圧縮されたり乱雑なJSONテキストを、一貫したインデント、改行、構文検証付きで再構成するツールです。
なぜJSONフォーマッターを使うのか?
APIレスポンス、設定ファイル、ログのデバッグ時に可読性を高め、データ構造を変えずに作業できます。
主な機能
即時の構文ハイライトとエラー検出、整形・圧縮モード、ツリー探索、100%クライアントサイドのプライバシー、ワンクリックコピー。
使い方
上のツールで正確な結果を得るための手順です。
- エディターにJSONを貼り付けるか、.jsonファイルをアップロードするか、最近のスナップショットを読み込みます。
- 整形でインデントと改行を追加するか、圧縮で1行の本番用出力にします。
- ツリービューでネストされたオブジェクトと配列を探索します。
- バナーで示された検証エラーを修正します。
- 整形結果をコピー、ダウンロード、または別ツールへ転送します。
JSON Formatter — 完全ガイドとユースケース
検証、beautify、minify、ツリー探索、構文の落とし穴、パースエラー修正、大きな JSON のヒント、兄弟ツールへのパイプまで — 上のエディターですべて実行できる権威あるウォークスルー。
JSON Formatter ガイド — ここから始める
このページは DevUtilities でブラウザ内の JSON を検証・整形・minify・探索する正規ガイドです。読みながら上のエディタを使うか、下のトピックにジャンプしてください。解析はデバイス上で完結し、ペイロードはアップロードされません。
JSON Formatter の役割
JSON Formatter は厳密な ECMA-404 JSON 向けのクライアント側ワークショップです。構文を検証し、人間向けに beautify、転送向けに minify、ネストしたツリーを探索し、最初のパースエラーへジャンプします。
得られるもの
- 最初の構文エラーへの行/文字ジャンプ付き即時検証
- Beautify(インデント)と Minify(1 行)モード
- 検索/フィルタ付きネストオブジェクト・配列のツリービュー
- コピー、ダウンロード、localStorage の履歴スナップショット、兄弟ツールへのパイプ
- 100% ブラウザ内実行 — 独自 API ペイロードとシークレットに安全
このツールを使う場面
- API 応答や webhook 本文がパースに失敗し、正確なオフセットが必要
- コミットやデプロイ前に乱雑な設定 JSON をクリーンアップする必要がある
- ヘッダー、クエリパラメータ、メッセージキュー向けのコンパクトな 1 行ペイロードが欲しい
- テキストの壁をスクロールせず深いネストを探索したい
次の場合は兄弟ツールを優先
- YAML ↔ JSON 変換が必要 → YAML ↔ JSON
- 表形式エクスポートが必要 → JSON to CSV
- 合成モック配列が必要 → JSON Generator
- codegen 前の OpenAPI lint が必要 → OpenAPI Validator
Beautify vs minify vs ツリー探索
ペイロードの次の利用者 — 人間、機械、または両方 — に応じてモードを選びます。
Beautify vs minify
| モード | 出力 | 向いている用途 |
|---|---|---|
| Beautify | インデントと改行付き JSON | デバッグ、コードレビュー、ネストした設定の閲覧 |
| Minify | 1 行、不要な空白を除去 | API 転送、ストレージサイズ、文字列への埋め込み |
| ツリー探索 | 折りたたみ可能なオブジェクト/配列ノード | ファイル全体を再整形せず深いキーを探す |
| 検証のみ | エラーバナー + 行へジャンプ | 他ツールへパイプする前の CI 風チェック |
手順: 検証、整形、探索、パイプ
このツールによる解決方法
- 生 JSON を貼り付け、.json をアップロード、または localStorage の最近のスナップショットを読み込みます。
- 検証バナーを確認 — 無効ならエラー行をクリックして問題の文字へジャンプします。
- 読みやすいインデントには Beautify、本番向け 1 行には Minify を選びます。
- ツリービューでネストしたオブジェクト/配列を展開し、検索ツールバーでキーをフィルタします。
- 出力をコピー、ファイルをダウンロード、または JSON to CSV、YAML ↔ JSON、Text Diff へパイプします。
- 機密ペイロードのローカルコピーが不要になったら履歴スナップショットを消去または上書きします。
ユースケース: 無効な API JSON のデバッグ
パートナー API が 200 を返すが、クライアントが本文を無効 JSON として拒否します。ログには切り詰められたか手編集されたペイロードが出ます。
このツールによる解決方法
- 生の応答本文を入力エディタに貼り付けます(正確なバイトが必要なら、先にターミナルで pretty-print しないでください)。
- エラーバナーで最初の不正文字へジャンプ — よくあるのは末尾カンマ、単一引用符、切り詰め文字列です。
- 有効になったら beautify して、ネストしたエラーオブジェクト/配列を読みやすくします。
- クリーンな JSON を fixture やチケット添付として API 所有者に渡します。
結果: 本番トラフィックを第三者フォーマッタに上げず、数秒でパース失敗を切り分けられます。
ユースケース: 設定 JSON のクリーンアップ
共有の appsettings / feature-flag JSON が手編集後にコメント、末尾カンマ、不揃いなインデントを溜めました。
このツールによる解決方法
- 設定を貼り付け、検証が緑になるまですべてのパースエラーを修正します。
- PR を開く前に一貫したインデントで beautify します。
- 必要ならコンパクトな設定 blob を期待する環境向けにコピーを minify します。
- 行単位レビューが必要なら前リビジョンと Text Diff で比較します。
結果: 本番トラフィックを第三者フォーマッタに上げず、数秒でパース失敗を切り分けられます。
ユースケース: 転送用 JSON の minify
値を変えずに、JSON クレームセット、webhook 本文、キューメッセージを 1 行転送に埋め込む必要があります。
このツールによる解決方法
- ソースオブジェクトを検証し、minify が構文エラーを隠さないようにします。
- Minify をクリックして不要な空白を除去します。
- 1 行をヘッダー、環境変数、メッセージ本文にコピーします。
- 後で再編集するなら beautify したコピーをローカル履歴に残します。
結果: 本番トラフィックを第三者フォーマッタに上げず、数秒でパース失敗を切り分けられます。
構文の落とし穴 — JS リテラル vs 厳密 JSON
厳密 JSON は JavaScript ではありません。JS コンソールでは「問題なさそう」に見える入力をパーサが拒否するとき、この簡潔な表を使ってください。
よくある JSON 構文の落とし穴
| 項目 | Valid | Invalid | 落とし穴 |
|---|---|---|---|
| 文字列 | "hello world" | 'hello world' | JSON は二重引用符が必須。単一引用符は無効。 |
| 末尾カンマ | ["a", "b", "c"] | ["a", "b", "c",] | ] や } の前に末尾カンマは不可。 |
| オブジェクトキー | { "id": 1 } | { id: 1 } | すべてのキーは二重引用符の文字列である必要があります。 |
| 数値 | 42, -3.14, 1.5e10 | 01, 007 | 先頭ゼロは許可されません。 |
| コメント | (not allowed) | // note or /* */ | JSON にコメントはありません — パース前に除去。 |
| Undefined / NaN | null | undefined, NaN | null のみが JSON の null リテラル。 |
修正: よくある JSON パースエラー
テキストが ECMA-404 に違反するとバナーに「無効なJSON — 入力を解析できませんでした。」と表示されます。
原因
パーサは最初の構文違反で停止します。括弧の不一致、単一引用符文字列、末尾カンマ、無引用キー、コメント、非 JSON リテラルなど。
診断
バナーのエラー行をクリックして問題の文字へジャンプします。その位置を構文落とし穴表と照合 — 多くの失敗は 6 行のいずれかです。
修正
- 文字列とキーの単一引用符を二重引用符に置換。
- ] と } の前の末尾カンマを削除。
- すべてのオブジェクトキーを引用。JavaScript 風識別子を削除。
- // と /* */ コメントを除去。undefined/NaN を null に変換またはプロパティを省略。
- 括弧と波括弧を釣り合わせ。ログ切り捨てによる切れた文字列を修復。
最初のエラーを直したら再検証 — 文書の下の方に 2 つ目のエラーが現れることがあります。
大きな JSON ドキュメントの扱い
サーバー側のファイルサイズ上限はありません。マルチメガバイト文書(20–30 MB+)は、エディタキャンバス用にブラウザに十分なメモリがあればローカルでパースされます。
- 検証だけなら Minify を優先 — 小さな DOM テキストは全面 beautify ツリーより軽快に感じることがあります。
- ネストした 1 パスだけ必要なら文書全体を beautify せずツリー + 検索を使います。
- 非常に大きいファイルはメインスレッドを遅くすることがあります。UI が重くなったらトップレベルキーでオフライン分割。
- 履歴スナップショットも localStorage クォータを消費 — 大きな貼り付け後は古いエントリを消去。
整形済み JSON を他ツールへパイプ
検証後、第三者アプリを経由せず DevUtilities の兄弟ツールへ出力をパイプします。
- JSON to CSV — ルートが同種オブジェクトの配列のとき
- YAML ↔ JSON — YAML エクスポートが必要な Kubernetes/CI マニフェスト向け
- Text Diff — 同じペイロードの 2 リビジョンを比較
- JSON Generator — モックスキーマを設計し、サンプルをここで整形
- LLM Token Counter — minify 後のツールスキーマのトークンコストを測定
プライバシー — ペイロードはブラウザ内に留まる
検証、beautify、minify、URL エンコード補助、ツリー探索、diff 比較はすべてローカルブラウザメモリで実行されます。
- 入力は外部サーバーに送信・保存・ログ記録されません。
- 任意の履歴はデバイスの localStorage のみを使用。
- 独自 API ペイロード、設定シークレット、本番ダンプに安全 — 共有ブラウザプロファイルにシークレットを残さないでください。
- 機密セッション後はプライベートウィンドウを使うか localStorage を消去。
JSON 整形のベストプラクティス
- minify 前に検証し、無効なコンパクト文字列を出荷しない。
- 人間向け beautify、機械向け minify — 転送問題のデバッグでは両方のコピーを保持。
- JavaScript オブジェクトリテラルは別言語として扱い、意図的に変換。
- 最初のエラーへジャンプ、修正、再検証 — 1 万行の貼り付けを盲目的に探さない。
- チャットやメール経由で再貼り付けせず、クリーン JSON を次のツールへパイプ。
- 本番シークレット作業後はローカル履歴を消去。
よくある質問
一般的なトラブルとデータプライバシーに関する回答です。
公式ドキュメントと参照
このユーティリティの公式仕様とプラットフォーム文書です。