菊丸ツゥルズ

JSON 修復

JSONを修復して整形

末尾カンマ、コメント、シングルクォート、コードフェンスなどを除去・変換してJSONとして再整形します。

JSON断片を入力してください。

使い方とユースケース

AI出力やログからコピーしたJSON断片を、機械処理しやすい正規JSONへ戻すための補助ツールです。

  • 修復は決定論的なルールベースです。修復後の内容が意図どおりかは必ず確認してください。
  • 修復できない構造は、エラー理由と途中までの修復候補を表示します。

JSON修復は、ChatGPTなどのAI出力やログからコピーした「壊れたJSON」を、ルールベースの決定論的な処理で正規のJSONへ直すツールです。コードフェンス(```で囲まれた部分)の除去、//や/* */コメントの削除、シングルクォート文字列のダブルクォート化、クォートなしキーの補完、undefined/NaNのnull置換、末尾カンマの除去まで対応します。修復後はJSON.parseで検証し、修復理由のログと差分サマリも表示します。

使い方・サンプル・結果例・注意点

使い方

壊れたJSONをテキストエリアに貼り付け、「修復」ボタンを押すと、修復後のJSONと修復理由、差分が表示されます。

サンプル入力

// AI出力からコピーしたJSON断片 { name: '菊丸ツゥルズ', enabled: true, items: [1, 2, 3,], }

結果例

このサンプルでは、まず行頭の//コメントが除去され、シングルクォートの'菊丸ツゥルズ'がダブルクォートに変換され、クォートなしキーのname・enabled・itemsがダブルクォートで囲まれ、配列末尾の余分なカンマ(3,]の部分)が除去されます。結果として{"name": "菊丸ツゥルズ", "enabled": true, "items": [1, 2, 3]}という整形済みJSONが生成され、「修復理由」欄に適用した修復ルールの一覧、「差分サマリ」欄に変更前後の行差分が表示されます。

注意点

修復は固定ルールに基づく決定論的な処理であり、文脈を読んで意味を補うものではありません。修復しても最終的にJSON.parseでパースできない場合は、エラーメッセージと途中まで修復したテキスト・差分が表示されます。複雑なネストの欠落や、構造そのものが壊れている場合(括弧の数が合わないなど)は自動修復できません。入力は100,000文字までです。修復後の内容が意図どおりかは必ず目視で確認してください。

こんなときに使えます

  • AIエージェント開発者が、LLMが出力したコードフェンス付き・末尾カンマ付きのJSON設定をパース可能な形に直してから自分のプログラムに渡す
  • Webエンジニアが、ブラウザの開発者ツールやログファイルからコピーしたJavaScriptオブジェクトリテラル(クォートなしキーやシングルクォート)を正規JSONに変換する
  • QAエンジニアが、テストデータ用JSONに混入したコメントや末尾カンマを一括で除去し、CIのJSONバリデーションに通す
  • ノーコードツール利用者が、外部APIのレスポンス例やドキュメントに書かれた非標準なJSONサンプルを、実際に使えるJSONに整形する

よくある質問

どんな種類の壊れたJSONを修復できますか?

コードフェンス(```json ... ```)、//や/* */のコメント、シングルクォート文字列、クォートなしのキー名、undefined/NaNの値、配列やオブジェクト末尾の余分なカンマに対応しています。

修復しても直らない場合はどうなりますか?

修復ルールを適用した後の文字列でJSON.parseを試み、失敗した場合はエラー内容と、修復ルール適用後の途中結果・差分が表示されます。構造自体が大きく壊れている場合は手動修正が必要です。

コメントが入っていると消えてしまいますが、消したくない場合は?

JSON仕様にコメントは含まれないため、JSONとしてパース可能にするには必ず除去されます。コメント内容を残したい場合は、修復前にコメント部分をメモしておいてください。

修復によって元の値が変わってしまうことはありますか?

シングルクォート文字列のダブルクォート変換やundefined/NaNのnull化など、構造を保ったままの安全な変換のみを行います。ただし値の意味が変わる変換(NaN→nullなど)もあるため、差分サマリで必ず確認してください。

差分サマリは何を比較していますか?

入力したテキストと修復後のJSONを行単位で比較し、変更があった行を-(変更前)と+(変更後)で最大80行まで表示します。