JSON 修復ツール公開:ブラウザで壊れた JSON を自動修復
JSON Work ファミリーに新しい仲間、JSON 修復ツール(JSON Repair Tool) が加わりました。
ログ、ブラウザの DevTools、外部サービスの管理画面などから JSON をコピーすると、しばしば 「ほぼ JSON だけど完全には正しくない」 テキストになっていることがあります。
例えば:
- • プロパティ間のカンマが抜けている
- •
// ...や/* ... */のような JavaScript 形式のコメントが混ざっている
- • ダブルクォートではなくシングルクォートが使われている
- •
True/False/NULLなど、大文字・小文字がバラバラ
- • これらが同時に発生しているケース など
従来の JSON バリデーターやフォーマッターは、「どこが間違っているか」を指摘することはできますが、実際に直してはくれません。
JSON 修復ツールは、まさにこうした「中途半端に壊れた JSON」をできるだけ安全に修復することを目的としています。
🔧 JSON 修復ツールの役割
このツールは、無効な JSON 文字列を入力として受け取り、複数のステップを通じて有効な JSONに変換することを試みます。
その際、次の点を重視しています。
- • すべての処理を ブラウザ内で完結 させる(データは外に出ない)
- • 同じ入力に対しては常に 同じ結果 を返す
- • 「どのような修正を行ったか」を Repair summary(修復サマリー) に一覧表示する
現時点で自動修正できる主なパターン
- • プロパティ間のカンマ抜け
- 修正前:
{
"name": "John",
"age": 30
"city": "New York"
}
- 修正後:
{
"name": "John",
"age": 30,
"city": "New York"
}
- • JavaScript 形式のコメント
- // ラインコメント や /* ブロックコメント */ を削除
- • シングルクォート文字列
- 必要に応じて 'value' を "value" に変換
- • クォートされていないキー
- 例:{ name: "John" } → { "name": "John" }
- • 真偽値 / null の大文字・小文字
- True / False / NULL / Null を小文字の JSON リテラルに正規化
入力 JSON がもともと有効な場合は、フォーマットだけ整えて「有効である」ことを表示します。
🧠 修復アルゴリズムの流れ
内部的には、JSON 修復ツールは複数の 小さく安全な変換ステップ を順番に適用し、そのたびに JSON.parse を試します。
おおまかな流れは以下の通りです。
- 余分な空白や BOM を除去し、改行コードを統一
- コメントを削除
- プロパティ間のカンマ抜けを補完
- 末尾のカンマ(
, }や, ])を削除
- 真偽値 / null リテラルの大文字・小文字を正規化
- シングルクォート文字列をダブルクォートに変換
- クォートされていないキーにクォートを追加
各ステップのあとに JSON.parse を実行し、どこかのタイミングで正しくパースできたら、その時点で変換を打ち切り、結果を標準的なインデントで整形して表示します。
すべてのステップを終えてもまだパースできない場合は:
- • すでに適用した変換結果を反映した 「できる限りクリーンな」テキスト を表示し
- • 最後の
JSON.parseで得られた 具体的なエラーメッセージ をそのまま見せて
- • どの修正が自動で行われたかを ステップごとのリスト で確認できるようにします。
🖥 どんな場面で役に立つ?
ツールの URL は以下です。
- •
/tools/formatters/json-repair(言語に応じてプレフィックスが付きます)
代表的なユースケースをいくつか挙げると:
1. API レスポンスのデバッグ
- • ブラウザ DevTools から「ほぼ JSON なレスポンス」をコピー
- • そのまま JSON 修復ツール に貼り付け
- • 有効な JSON に修正された結果を:
- バリデーターに渡して構造を検証したり
- ビューティファイアで整形したり
- チームメンバーと共有してバグ調査に使ったりできます。
2. ログに埋もれた JSON 断片のクリーンアップ
- • ログファイルには、コメント入り・途中で壊れた JSON 断片がよく登場します。
- • それらを修復ツールにかけることで:
- コメントを取り除き
- 細かな構文ミスを修正し
- 人間が読みやすい JSON に整えることができます。
3. サードパーティツールの「JSON 風」設定ファイル
- • 一部の外部ツールは JSON ライクな設定ファイルを出力しますが、厳密な JSON ではないことが多いです。
- • まず修復ツールで 正しい JSON に変換してから:
- JSON Schema で検証したり
- CSV / XML / YAML に変換したり
- 静的解析ツールやリンターに渡す、といったことができます。
🔒 プライバシーとローカル処理
JSON Work 全体のポリシーと同様に、JSON 修復ツールも 「データはブラウザから出さない」 ことを徹底しています。
- • すべての処理はブラウザ内で完結し
- • 入力された内容は ネットワーク経由で送信されず
- • サーバー側にペイロードがログとして残ることもありません。
本番環境の JSON や、ユーザー情報・機密情報を含むログを扱う場合でも、安心して利用できます。
🌍 JSON Work 内の他ツールとの連携
修復ツールは、JSON Work に用意されている他のツールと組み合わせて使うことで、より強力なワークフローを構築できます。
- • JSON バリデーターで構文と構造を精査し
- • JSON ビューティファイアーで最終的なフォーマットを整え
- • JSON ツリービューアーで修復後の構造を視覚的に確認し
- • JSON Diff ツールで修復前後の差分を比較する、といった使い方が可能です。
また、フォーマッター/バリデーターのページにある「関連ツール」セクションからも、JSON 修復ツールへの導線が張られています。
✅ 今すぐ試してみる
- JSON 修復ツール にアクセス
- 壊れている、または無効な JSON をそのまま貼り付け
- ツールに自動修復を任せる
- 結果をコピー、またはファイルとしてダウンロード
- 必要に応じて、バリデーターやビューティファイアー、ツリービューアーに渡して仕上げを行ってください。
もし「こんなパターンも直してほしい」「このケースではこういう挙動のほうが嬉しい」といったアイデアがあれば、ぜひフィードバックをお寄せください。
JSON Work は、実際に使ってくださる開発者のみなさんの声をもとに進化させていきます。