ツール
入力
結果
結果はここに表示されます。モデルに JSON を求めると、遅かれ早かれ JSON.parse が受け付けないものが返ってきます。引用符のないキー、末尾のカンマ、// コメント、null の代わりの None、トークンが尽きてオブジェクトの途中で切れた回答などで、しかも親切な一文やコードフェンスに包まれていることがよくあります。このツールは貼り付けたものの中から JSON を見つけ、多くの JSON エディターやエージェントフレームワークで使われているライブラリ jsonrepair(josdejong/jsonrepair、ISC)で修復し、すぐに使える有効でインデント付きの JSON を出力します。
動作のしくみ
- まず JSON の位置を特定します。```json のコードブロックがあればその中身を、なければ最初の { または [ から後ろ全体を対象にします。最後の括弧の後ろに続く文章のせいで修復が止まった場合は、その部分を切り落として修復をやり直します。
- 続いて jsonrepair が、足りない引用符の追加、シングルクォートからダブルクォートへの変換、末尾のカンマやコメントの削除、Python の None、True、False の変換、文字列内の余分な引用符のエスケープ、閉じられていない括弧の補完を行います。
- すでに有効な入力は整形し直してその旨を表示するので、単純な整形ツールとしても使えます。
- 統計欄には、JSON がどこで見つかったか、ノード数、ネストの深さが表示されます。結果はスペース 2 つか 4 つでインデントするか、圧縮して出力できます。
データの行き先
どこにも行きません。このツールは完全にブラウザ内で動作します。貼り付けたテキストはページが処理し、サーバーに送信されることも、ログに記録されることもありません。
このツールは無料で登録不要です。結果は開いているページの中にだけあり、どこにも保存されません。
必要なポイント
このツールは無料です。ログインもポイントも必要ありません。
よくある質問
- 途中で切れたレスポンスを復元できますか?
- パースできるようにはなりますが、それは復元とは違います。閉じられていない文字列や括弧は閉じられ、値の前で切れたキーには null が入ります。モデルが書かなかった部分は欠けたままなので、最後のほうの項目を確認するか、できれば max_tokens を増やしてもう一度リクエストしてください。
- 回答に JSON ブロックが複数ある場合はどうなりますか?
- 修復されるのは最初のコードフェンスのブロック、それがなければ最初の括弧以降のテキストだけです。すべて必要な場合は、ブロックを 1 つずつ貼り付けてください。プロンプトを自分で管理できるなら、トップレベルのオブジェクトか配列を 1 つだけ返すよう頼めばこの問題を避けられます。
- そもそもモデルが壊れた JSON を返さないようにするには?
- プロバイダーに構造化出力のモードがあればそれを使ってください。JSON スキーマを指定した OpenAI の response_format、Gemini の responseSchema、Claude のツール呼び出しなどで、生成そのものを有効な JSON に制約できます。修復は、そうした機能のないモデルやゲートウェイ、そしてすでに手元にあるログのための代替手段です。
背後にあるオープンソース
このツールは josdejong/jsonrepair(ISC)の上で動作しています。同じ処理を自分のプログラムに組み込みたい場合は、そのライブラリを使ってください。
josdejong/jsonrepair別の呼び方
- JSON 修復
- JSON 修正 オンライン
- 壊れた JSON 直す
- LLM JSON エラー
- JSON パースエラー 修正
- jsonrepair