機能の説明
壊れているが救える JSON を、有効な JSON に戻します。厳格なパーサーが拒否するテキスト - 末尾カンマ、シングルクォート、クォートなしのキー、// または /* */ コメント、Python の True/False/None、紛れ込んだ BOM やゼロ幅文字、途中で切れたドキュメント - を貼り付ければ、きれいに整形された JSON が戻ってきます。実行された各修復パスは名前付きで一覧表示されるため、何がどう変更されたのかを正確に確認できます。入力がすでにパース可能なら、その旨を表示して整形のみを行います。すべてブラウザーの中でローカルに実行され、貼り付けた内容がどこへも送信されることはありません。
これは、言語やツールの間で JSON をやり取りするすべての人の日々の相棒です - Python や JavaScript の流儀が混ざった LLM 出力、ノートブックから貼り付けた設定ファイル、オブジェクトの途中で切断されたログ行。
使い方
- 壊れた JSON を Broken JSON に貼り付けるか、Sample をタップして複数の修復が一度に発動するドキュメントを読み込みます。Clear はボックスを空にします。
- 入力欄の下のチップをタップして主要ケースを試せます: trailing comma、single quotes、truncated array、unquoted keys。
- バッジを読みます: Repaired(緑、変更が加えられた)、Valid JSON(緑、入力がそのままパースできた)、Unrepairable(赤、パーサーエラーが表示される)。
- 修復されたら Repairs applied (N) を読みます - テキストを変更したパスごとに 1 つの箇条書きです - そして Copy repaired JSON で結果をコピーします。
- Copy share link は入力を URL(
?j=...)にエンコードするため、リンクを開けばまったく同じ表示が再現されます。
例
末尾カンマ:
{"host": "localhost", "port": 8080,}
結果: Repaired、1 件の修復(Removed trailing commas)、出力:
{
"host": "localhost",
"port": 8080
}
Python 流の dict(シングルクォートに加えて True):
{'name': 'CosmoDev', 'open': True}
結果: Repaired、2 件の修復(Converted single quotes to double quotes、Converted Python constants (True/False/None))、出力:
{
"name": "CosmoDev",
"open": true
}
切断された配列(オブジェクトの途中で切れたログ行):
{"list": [1, 2,
結果: Repaired、1 件の修復(Closed truncated brackets)、出力:
{
"list": [
1,
2
]
}
補足事項
- パスの順序: 不可視文字(BOM / ゼロ幅)→ シングルクォート → コメント → クォートなしキー → Python 定数 → 末尾カンマ → 切断された括弧。各パスは何かを変更したときにのみ発動します。
- 修復はベストエフォートです: キーの途中で切断されたドキュメント(
{"na)は無効なトークンで終わり、Unrepairable のままです - パーサーのエラーが場所を教えてくれます。修復は失ったデータを捏造することもありません。数値の途中で切れた値は、書かれた通りにそのまま残ります。 ?j=...リンクは表示を正確に再現します。非常に大きなドキュメントは長い URL になります。- プライベート: ツールは 100% クライアント側で動作します - 設定、認証情報、API ペイロードにも安全です。
- 関連ツール: JSON Validator、JSON Formatter、JSON Minify。