← 記事一覧

オンラインで JSON を修正: 無効な JSON を修復、検証、整形

末尾カンマ、シングルクオート、引用符なしキー、Python リテラル、markdown フェンス —— オンライン JSON 修正ツールはすべて処理可能。修復パーサの動作、使いどき、機密データを守る方法を学ぶ。

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 に TrueFalseNone を使います。JSON は小文字の truefalsenull を要求します。

// 無効(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 風リテラル(TrueNone
  • モデルがトークン制限で切り詰められた際の括弧の不釣合い
  • 「美化」がもたらすスマートクォート(“ ”

フェンスを剥がし、修復を実行し、検証する。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% ブラウザで動作 —— データはどこにも送られない

スイートの他のツール: