JSON.parse() は容赦ありません:誤った位置のカンマ 1 つ、クォートのないキー 1 つ、true の代わりの True 1 つで、アプリ全体が止まります。オンライン JSON フィクサは壊れた JSON を貼ると自動でエラーを検出・修復し、クリーンで妥当な JSON をコピーバックできます —— コードに触れる必要も何かをインストールする必要もありません。本ガイドではその仕組み、修復できるエラー、使うべき場面を解説します。
オンライン JSON フィクサとは?
オンライン JSON フィクサは、無効な JSON を入力として受け取り、修復ヒューリスティクスを適用して妥当な JSON を出力する、ブラウザベースのツールです。優れたフィクサは結果を整形(pretty-print)して構造を分かりやすく見せます。
何かが間違っていることだけを伝える単純なバリデータと違い、フィクサは何が 間違っていたかを伝え、それを直します。ただのエラーメッセージではなく、実用的な出力が得られます。
オンラインフィクサが最もよく修復する JSON エラー
末尾カンマ
JSON で最も多いエラー。オブジェクトや配列の最後の要素の後のカンマは JavaScript では妥当ですが、JSON では違法です。
// 無効
{ "name": "Alice", "score": 98, }
// 修復
{ "name": "Alice", "score": 98 }シングルクォート
JSON は文字列とキーにダブルクォートを要求します。シングルクォート文字列は JavaScript の慣習で、多くの開発者がうっかり持ち込みます。
// 無効
{ 'name': 'Alice' }
// 修復
{ "name": "Alice" }クォートなしキー
JavaScript のオブジェクトリテラルは裸(クォートなし)のキーを許しますが、JSON は許しません。
// 無効
{ name: "Alice", age: 30 }
// 修復
{ "name": "Alice", "age": 30 }JavaScript のコメント
JSON にはコメント構文がありません。JavaScript ソースからコピーされたコメント、設定ファイルに追加されたコメントはパースを失敗させます。
// 無効
{
"debug": true, // ログを有効化
/* 本番前に削除 */
"verbose": false
}
// 修復
{
"debug": true,
"verbose": false
}Python リテラル
Python は真偽値と null に True、False、None を使います。JSON は小文字の true、false、null を要求します。
// 無効(Python 風)
{ "active": True, "deleted": False, "nickname": None }
// 修復
{ "active": true, "deleted": false, "nickname": null }Markdown コードフェンス
LLM(ChatGPT、Claude、Gemini)に JSON を出力させると、しばしば結果を Markdown コードブロックで囲んできます。バッククォートと言語タグは JSON の一部ではありません。
// 無効(Markdown フェンス付き)
```json
{ "name": "Alice", "age": 30 }
```
// 修復
{ "name": "Alice", "age": 30 }閉じていない括弧や欠落値
切り詰められた JSON —— カットオフされた API レスポンスや不完全なコピー&ペーストから —— は閉じられていないオブジェクトや配列を残します。フィクサは自動でそれらを閉じ、構文的に妥当な出力を生成できます。
// 無効(切り詰め)
{ "users": [{ "id": 1, "name": "Alice"
// 修復(自動クローズ)
{ "users": [{ "id": 1, "name": "Alice" }] }文書先頭の UTF-8 BOM
一部の Windows ツールが書くファイルは UTF-8 BOM(0xEF 0xBB 0xBF)で始まります。RFC 8259 は JSON 先頭の BOM を禁じており、JSON.parse は位置 0 のエラーで拒絶します —— 見た目には 先頭文字の不正のようです。修復パスはこれを取り除きます;手動でパースする場合は先に text.replace(/^/, '') を。
AI 生成 JSON のクリーンアップ(LLM 出力)
今日、最も安定した「ほぼ JSON」の出所は LLM の応答です。パターンが一貫していて機械的に修復できます:
```json … ```フェンスがペイロードを囲む- 配列とオブジェクト内の末尾カンマ
- 学習データから混入する Python 風リテラル(
True、None) - モデルが トークン制限で切り詰められた際の括弧の不釣合い
- 「美化」がもたらすスマートクォート(
“ ”)
フェンスを剥がし、修復を実行し、検証する。LLM 出力に特化した完全な手順は Repair LLM JSON output ガイドを参照。
オンライン JSON 修復の仕組み
シンプルなフィクサは正規表現を使います —— 例えば ,} を } に置換して末尾カンマを除去。シンプルなケースでは動きますが、同じ文字列が文字列値の中にあると壊れます。
より良いフィクサは修復パーサ を使います:予期しないトークンに当たってもエラーで投げずに、回復して継続を試みる JSON パーサです。入力を文字単位で歩み、文脈に応じてヒューリスティクスを適用:
- ダブルクォートが期待される場所でシングルクォートを見たらクォートモードを切り替える
- クォート付きキーが期待される場所で裸の語を見たらクォートを付ける
trueが期待される場所でTrueを見たら小文字化する- 構造が未閉のまま入力末尾に到達したら、開いている括弧をすべて閉じる
修復は文法を理解しているので、構造的な位置でのみ変更し、文字列の内容を破壊しません。
オンライン JSON フィクサを使う場面
| 状況 | オンラインフィクサ? |
|---|---|
| 一回限りの API レスポンスのデバッグ | ✅ はい —— 読める出力への最速ルート |
| LLM 生成 JSON の修復 | ✅ はい —— LLM はよく末尾カンマや Markdown フェンスを出す |
| 設定ファイルの素早い修復 | ✅ はい —— 修復を見てからエディタで手作業適用 |
| 本番データパイプライン | ⚠️ コードの修復ライブラリを使う(例:json-repair) |
| API キーや PII を含むデータ | ⚠️ ブラウザネイティブのツールを使う —— 下記参照 |
プライバシー:JSON はブラウザを離れますか?
オンライン JSON ツールについて最も重要な質問です。多くのオンラインフォーマッタ/フィクサは入力をサーバへ送り —— そこでログされ、CDN にキャッシュされ、検索エンジンにインデックスされる可能性があります。
JSON Fix は完全にブラウザで動作します。JSON を貼って Repair をクリックすると、処理はデバイス上の JavaScript で行われ —— サーバには何も送られません。ブラウザの Network タブを開いて確認できます:ボタンをクリックしてもリクエストは発生しません。
そのためトークンを含む API レスポンス、PII を含む DB エクスポート、内部設定ファイルなど機密データに安全です。なぜ重要かは Why You Shouldn't Paste Sensitive JSON Into Online Tools を参照。
よくある質問
JSON をオンラインで修復するには?
壊れた JSON をブラウザベースのフィクサ、例えば JSON Fix に貼ります。末尾カンマ、シングルクォート、クォートなしキー、Python リテラル、コメント、Markdown フェンスを検出・修復し、妥当な JSON を pretty-print してコピーバックできます —— インストール不要、サインアップ不要。
機密 JSON をオンラインフィ クサに貼って安全ですか?
ツールが完全にブラウザで動作する場合のみ安全です。多くのオンラインフォーマッタは入力をサーバへ POST し、ログやキャッシュの対象になり得ます。JSON Fix はすべてクライアント側で処理します —— Network タブを開けばリクエストがないことを確認できます。なぜ重要か。
JSON フィクサとバリデータの違いは?
バリデータは JSON が無効である ことと場所を伝えるだけ;フィクサは修復もして妥当な出力を返します。詳細な比較は JSON formatter vs JSON repair。
オンラインフィクサは AI 生成 JSON を直せますか?
はい —— LLM 出力には Markdown コードフェンスや末尾カンマがよく含まれ、フィクサが自動で除去します。専用ガイドは Repair LLM JSON output。
JSON をオンラインで修復 —— 今すぐ
壊れた JSON を JSON Fix に貼ります。このツールは:
- エラーの種類を特定
- 末尾カンマ、シングルクォート、クォートなしキー、Python リテラル、コメント、Markdown フェンスを修復
- 一貫したインデントで結果を pretty-print
- 変更内容の diff を表示、確認可能
- 100% ブラウザで動作 —— データはどこにも送られない
スイートの他のツール:
- JavaScript で壊れた JSON を扱う方法 —— try/catch と修復パーサで自分のコードに JSON 修復を追加
- 「[object Object]」とその他の JSON 構文エラーを修正 —— よくある JSON エラーの完全リファレンス
- JSON Formatter vs JSON Repair —— いつ検証、フォーマット、修復するか
- JSON Diff —— 2 つの JSON 文書を比較して違いを発見
- YAML to JSON —— YAML を妥当な JSON に変換
- Base64 デコーダ —— Base64 エンコードされた JSON ペイロード(JWT クレームなど)をデコード