JSONフォーマッター
整形・検証・圧縮・キーソート — 100%ブラウザ内処理
知っておきたい技術詳細
JSON は RFC 8259 で定義されます。実務で人を悩ませるのは次の3点です:
- 数値は IEEE-754 倍精度浮動小数点——2⁵³ を超える整数(例:9007199254740993)は JavaScript ベースのパーサーで静かに精度を失います。API の長い ID が文字列で来るのはこのため。
- 重複キーは規格上禁止されていません。パーサーは通常最後のものを採用し、この整形器も同じ挙動です。
- 検証は最初の文法エラーを行・桁付きで報告して停止——直して再実行、次があればまた報告します。
JSONフォーマッターとは?
JSONフォーマッターは生JSON、しばしばAPI応答・設定ファイル・ログから写した1行を取り、人間が走査できる字下げ構造に並べ直す。このツールは選択字下げ整形・緊密1行への圧縮・原文不変の検証・任意の再帰キー整列を行い、毎回バイトサイズ・総キー数・入れ子深さを報告する。解析・印字・統計がすべてブラウザ内で動くため、本番ペイロードや秘密入り設定をサーバーに送らず貼れる。
1行のAPI応答から可読構造へ
- 2スペース・4スペース・Tab字下げの美化か、最も短い合法1行への圧縮
- 検証専用モード。構文を調べ、原文に触れない
- 再帰キー整列。印字前に全入れ子オブジェクトをアルファベット順にする
- 解析器メッセージと失敗箇所の正確な行番号・列番号を持つエラー報告
- 実行後統計でバイトサイズ・キー総数・最大深さを示し、コピーとJSONファイル保存付き
効くデバッグ場面
- フィールドに向けてクライアントコードを書く前に、入れ子API応答を読む
- 膨れた設定ファイルを整え、ペイロードを縮めて制限付きリクエストに収める
- ログ抜き構造を監査する。数百行に隠れた1つの欠けカンマ
大きなペイロードと重複キーの注意点
解析は厳格JSONに従い、末尾カンマ・注釈・単引用文字列は拒否される。重複オブジェクトキーはJSON標準通り最後の値が残り、エラーを期待した人を驚かせる。深く大きな文書は木全体を走査するため少し時間がかかることがある。空入力は検証対象がないためそのまま拒否される。
プライバシー: 貼った物は何もブラウザタブを出ない。整形と検証は完全ローカルであり、機微なペイロードは置いた場所に留まる。
最終更新 · 2026-09-01
📚 よくある JSON エラーと直し方
JSON のパース失敗はほぼ次の 8 種類に集約されます。表で自分のエラーを見つけ、フォーマッタがハイライトする行を修正しましょう。
| メッセージ | 原因 | 修正 |
|---|---|---|
| Unexpected token < | レスポンスが JSON ではなく HTML | エンドポイント確認 — エラーページをパースしている |
| Unexpected end of input | 閉じ括弧の欠け | フォーマッタのインデントガイドで未閉鎖ブロックを特定 |
| Unexpected string | 要素間のカンマ欠け | バリデータが指す位置にカンマを追加 |
| Unexpected token ' | シングルクォートを使用 | JSON はダブルクォート必須 — 全て置換 |
| Unexpected token , | } や ] の前の trailing comma | 最後のカンマを削除 |
| Unexpected number | 先行ゼロ (007) や 16 進 (0x1F) | 文字列としてクォートするか前置子を除去 |
| 重複キー | 同じキーが 2 回 — 後方が黙って上書き | どちらかを改名。文法的に可だが危険 |
| 見えないゴミ | BOM やコピペ由来の空白 | プレーンテキストから貼り直し |
おまけ 2 つ: JSON にはコメント構文がありません(JSONC が拡張 — VS Code の設定はそれ)。数値に先行ゼロや 16 進表記は不可。全てブラウザ内で動作 — JSON が正しい形式か迷ったら形式比較をどうぞ。
最終更新 · 2026-09-01
エディタ拡張よりこれを使う理由
整形・並べ替え・計測
生の JSON を2スペース・4スペース・タブのインデントで整形し、深いキーの並べ替えを切り替え、毎回の実行後にバイト数・キー数・ネストの深さをステータス行で確認できます。
エラーは行・列まで正確に
検証は最初の構文エラーの行と列を正確に報告するため、ネストしたオブジェクトの奥で欠けたカンマも修正箇所を直接指し示し、漠然としたパース失敗で終わりません。
ミニファイ、コピー、ダウンロード
ミニファイは同じ文書を1行に折りたたんで軽量なペイロードにし、その後はコピーするか formatted.json として保存できます。
よくある質問
JSONはサーバーに送信されますか?⌄
いいえ。整形・検証・圧縮はすべてブラウザ内のJavaScriptで実行され、データが端末の外に出ることはありません。APIキーや顧客データなど機密情報も安全に扱えます。
JSONの構文エラーを素早く見つけるには?⌄
「検証」または「整形」をクリックすると、無効な場合はパーサーのエラーメッセージと最初のエラーの正確な行・列位置が表示されます。末尾カンマ、シングルクォート、引用符なしのキーが最も一般的な原因です。
「キーをソート」は何をしますか?⌄
すべてのオブジェクトのキーを再帰的にアルファベット順に並べ替えて出力します。ソート済みJSONはコードレビューでの差分比較が容易になり、キャッシュやハッシュ用に安定した出力を生成できます。
長い ID の末尾の桁が整形後に変わるのはなぜ?⌄
変わるのは整形ではなく、テキストが JavaScript の数値に変換される瞬間です。2⁵³ ≈ 9×10¹⁵ を超える整数は倍精度の仮数に収まらず、末尾が丸められます。該当する値は JSON 内で引用符付きの文字列にしてください。