AIチャットが返したJSONがそのままパースできない…そんな時に。壊れたJSONを検出し、 構文的に正しいJSONへ自動修復します。整形ではなく「修復」に特化したツールです。
壊れたJSONを貼り付け
出力オプション
インデント幅
キーの並び替え
出力形式
JSONを貼り付けて「修復を実行」を押すと、検出された問題点と修復結果がここに表示されます。
壊れたJSONを自動修復。「整形」ではなく「修復」に特化したツール
AIチャットにデータ整形やAPIレスポンスの生成を依頼すると、返ってきたJSONが末尾カンマ・シングルクォート・コメントの混入・```json のコードフェンスの残骸などによって、そのままではJSON.parse()できないというケースは珍しくありません。
一般的な「JSON整形(フォーマット)ツール」は、すでに正しい構文のJSONを読みやすく整えるためのものであり、構文が壊れたJSONを渡すとエラーが出るだけで終わってしまいます。本ツールは整形ではなく「修復(リペア)」に特化しており、よくある壊れ方のパターンを自動で検出し、パース可能な状態に直したうえで整形まで行います。
何が・どのように修復されたのかを「変更ログ」として一覧表示するため、ブラックボックスで書き換えられるのではなく、修復内容を確認しながら安心して利用できます。
こんなシーンで便利です
AIチャットが返したJSONがそのままパースできない時
AIの回答に含まれるJSONをコピーしてコードに貼り付けたところ、末尾カンマやシングルクォートが原因でJSON.parse()がエラーになってしまう、というよくある場面で使えます。
手書きの設定ファイルをJSON5的な書き方から正式なJSONに変換したい時
コメントを書きたい、キーにクォートを付けたくない、といった理由でJSON5的な緩い書き方をしてしまった設定ファイルを、正式なJSON形式に変換したい場合に活用できます。
説明文付きのAI回答からJSON部分だけを抽出して修復したい時
「以下がリクエストされたJSONです:」のような前置きや```json のコードフェンスが付いたままの回答でも、JSON部分を自動抽出したうえで修復を試みます。
閉じ括弧が足りているか目視で数えるのが大変な時
長いJSONの末尾で閉じ括弧が1つ足りない、といった見落としやすいミスも、ブラケットの対応関係を自動で追跡して補完します。
使い方は簡単 4ステップ
- 壊れたJSONを入力エリアに貼り付けます。前後に説明文やコードフェンスが付いていてもそのままで構いません。
- 必要に応じて、インデント幅やキーのソートなどの出力オプションを選択します。
- 「修復を実行」を押すと、検出された問題点の一覧と、修復後のJSON(シンタックスハイライト付き)が表示されます。
- 修復後のJSONをコピーまたは.jsonファイルとしてダウンロードして利用します。自動修復で解決しなかった場合は、表示されたエラー位置を手がかりに該当箇所を確認してください。
※貼り付けた内容や修復結果は、いずれもブラウザのメモリ上にのみ保持され、外部のサーバーへ送信されることはありません。
ご利用時の注意点
- 本ツールはよくある壊れ方のパターンに基づいた自動修復であり、すべてのケースでの修復を保証するものではありません。
- キーと値の対応関係そのものが崩れている、括弧の入れ子構造が大きく破綻しているといった重度の破損は、自動修復の対象外となる場合があります。
- 修復後の内容は、本番のコードや処理に組み込む前に必ず目視でご確認ください。
- 完全無料・安全:本ツールは通信を行わないブラウザ完結型のため、入力したJSONの内容が外部に送信・保存されることはありません。
よくある壊れたJSONのパターンと自動修復の例
AIの回答や手書きの設定ファイルで特に頻発する、代表的な壊れ方のパターンです。
| 問題のパターン | 修復前の例 | 修復後の例 |
|---|---|---|
| 末尾カンマ | {"a":1,"b":2,} | {"a":1,"b":2} |
| シングルクォート | {'a':'b'} | {"a":"b"} |
| コメントの混入 | {"a":1 // メモ } | {"a":1} |
| コードフェンスの残骸 | ```json {"a":1} ``` | {"a":1} |
| キーに引用符がない | {a:1} | {"a":1} |
| Python風リテラル | {"a":True,"b":None} | {"a":true,"b":null} |
| 閉じ括弧の不足 | {"a":{"b":1} | {"a":{"b":1}} |
なぜAIが返すJSONは壊れやすいのか、修復の考え方
JSONが壊れる典型的な原因と、整形ツールとの役割の違いを解説します。
なぜAIが返すJSONは頻繁に壊れているのか
AIモデルは文章としてもっともらしいトークン列を生成する仕組み上、Pythonの辞書表記(シングルクォート・True/False/None)や、会話の途中で挟んだ説明用のコメント、Markdown記法のコードフェンス(```json)がそのまま出力に混ざってしまうことがあります。
また、出力トークン数の制限によって途中でJSONが途切れ、閉じ括弧が不足するケースも典型的な失敗パターンです。
「整形(フォーマット)」と「修復(リペア)」の違い
整形ツールは、JSON.parse()が成功する正しいJSONを前提に、インデントや改行を見やすく調整するための機能です。
一方、修復ツールはそもそもパースできない壊れた文字列を対象に、構文エラーの原因となっているパターンを検出・修正し、パース可能な状態まで持っていく役割を担います。壊れたJSONに対しては、まず修復、そのあとに整形という順序が必要です。
末尾カンマ・シングルクォート・コメントが混入する典型パターン
末尾カンマは、配列やオブジェクトの最後の要素を編集・削除した際にカンマだけ消し忘れることで発生します。シングルクォートはJavaScriptやPythonのコード感覚でJSONを書いてしまうこと、コメントは「ここは仮の値」といった補足説明をAIやレビュアーがそのまま残してしまうことが主な原因です。
修復できないケースと、その場合の対処法
キーと値の対応関係そのものが崩れている、文字列の途中で無関係な文章が挿入されているといった意味的に破綻したJSONは、パターンベースの自動修復では直せません。
このような場合は、本ツールが表示するエラー位置の情報を手がかりに、該当箇所の前後を目視で確認しながら手動で修正することをおすすめします。
よくある失敗と対策
json-formatterに壊れたJSONをそのまま貼ってエラーだけが表示される
構文が壊れたJSONを整形専用のツールに貼り付けてしまい、「Unexpected token」のようなエラーメッセージだけが表示されて、結局どこが悪いのか分からず困ってしまう失敗です。
💡 対策・解決策を見る▼
AIの回答からJSON部分だけを手作業でコピーして前後の文章を巻き込む
「以下がJSONです:」といった説明文ごとコピーしてしまい、貼り付けたテキストの前後に余計な文字列が残ったままパースしようとしてエラーになるケースです。
💡 対策・解決策を見る▼
末尾カンマだけ手で消して直したつもりが、他の問題が残ったまま再度エラーになる
エラーメッセージに従って末尾カンマだけを削除したものの、実はシングルクォートやコメントなど複数の問題が同時に存在しており、修正してもまた別のエラーが発生してしまう失敗です。
💡 対策・解決策を見る▼
閉じ括弧の数を目視で数えようとして時間がかかる、または数え間違える
ネストが深い、あるいは長いJSONで閉じ括弧が足りているかを目で追って確認しようとし、時間がかかったり数え間違えたりしてしまう失敗です。
💡 対策・解決策を見る▼
自動修復の結果を確認せずそのまま本番コードに組み込んでしまう
自動修復されたJSONをそのまま信頼しきってしまい、内容を確認しないまま本番のコードやデータベースに反映してしまう失敗です。
💡 対策・解決策を見る▼
よくある質問(FAQ)
Q.このツールは「JSON整形ツール(json-formatter)」と何が違いますか
A. JSON整形ツールは、すでに構文的に正しいJSONを読みやすくインデント・改行するための「フォーマッター」です。一方、本ツールは末尾カンマ・シングルクォート・コメントの混入・コードフェンスの残骸など、構文として壊れているJSONを検出し、パース可能な状態に「修復(リペア)」することに特化しています。壊れたJSONをそのまま整形ツールに貼ってもエラーになるだけのため、まず本ツールで修復してから整形するという使い分けを想定しています。
Q.どのような壊れ方まで自動修復できますか
A. 末尾カンマ、シングルクォートで囲まれた文字列、行コメント(//)・ブロックコメント(/* */)の混入、```json のようなMarkdownコードフェンスの残骸、引用符のないオブジェクトキー、Pythonのリテラル表記(True・False・None)、全角のスマート引用符、閉じ括弧の不足などに対応しています。これらはAIチャットの回答や手書きの設定ファイルで特に頻発するパターンです。
Q.自動修復できない場合はどうなりますか
A. 自動修復を試みたうえでJSONとして正しく解析できなかった場合は、エラーメッセージと、エラーが発生した位置周辺のテキストを表示します。構造が大きく崩れている場合(キーと値の対応が根本的に壊れているなど)は自動修復の対象外となるため、表示された位置を手がかりに手動で修正してください。
Q.AIの回答に含まれる説明文ごとコピーしてしまっても大丈夫ですか
A. ある程度対応しています。入力されたテキストが { または [ から始まっていない場合、本ツールは最初の { または [ から最後の対応する閉じ括弧までを自動的に抜き出してから修復を試みます。「以下がJSONです:」のような前置きや、```json ~ ``` のコードフェンスが前後に付いたままでも、多くの場合はそのまま貼り付けて利用できます。
Q.入力したJSONの内容は外部に送信されますか
A. 送信されません。本ツールはテキストの検出・修復・整形までのすべての処理をブラウザ内のJavaScriptだけで完結させており、サーバーへのアップロードや外部APIへの問い合わせは一切行いません。
Q.修復結果は100%正しいことが保証されますか
A. 保証はできません。本ツールはよくある壊れ方のパターンに基づいた自動修復であり、意図が曖昧なケース(キーと値の対応関係そのものが崩れている場合など)では、修復後の内容が元データの意図と異なってしまう可能性があります。修復後は必ず内容を確認したうえでご利用ください。
Q.キーの並び替え(アルファベット順ソート)はできますか
A. はい、可能です。修復オプションの中に「キーをアルファベット順にソート」というトグルがあり、有効にするとオブジェクトのキーを再帰的にアルファベット順へ並び替えたうえで出力します。差分比較をしやすくしたい場合などにご活用ください。
あなたの声で、
このツールをより鋭く。
「こんな機能が欲しい」「ここを直してほしい」といったご意見や、新しいツールのリクエストを募集しています。エンジニアが直接目を通し、開発の参考にさせていただきます。