新着記事を見逃さないには?
このブログ一覧をブックマークし、ホームやツール一覧のガイド欄もご覧ください。記事の閲覧に登録やメール購読は不要です。
新しい JSON 修復ツールは、プロパティ間のカンマ抜け、コメント、シングルクォート、true/false/null の大文字・小文字の揺れなど、よくある問題をブラウザ内だけで自動的に修正します。データは一切サーバーに送信されません。
JSON Work ファミリーに新しい仲間、JSON 修復ツール(JSON Repair Tool) が加わりました。
ログ、ブラウザの DevTools、外部サービスの管理画面などから JSON をコピーすると、しばしば 「ほぼ JSON だけど完全には正しくない」 テキストになっていることがあります。
例えば:
// ... や /* ... */ のような JavaScript 形式のコメントが混ざっているTrue / False / NULL など、大文字・小文字がバラバラ従来の JSON バリデーターやフォーマッターは、「どこが間違っているか」を指摘することはできますが、実際に直してはくれません。
JSON 修復ツールは、まさにこうした「中途半端に壊れた JSON」をできるだけ安全に修復することを目的としています。
このツールは、無効な JSON 文字列を入力として受け取り、複数のステップを通じて有効な JSONに変換することを試みます。
その際、次の点を重視しています。
- 修正前:
{
"name": "John",
"age": 30
"city": "New York"
}
- 修正後:
{
"name": "John",
"age": 30,
"city": "New York"
}
- // ラインコメント や /* ブロックコメント */ を削除
- 必要に応じて 'value' を "value" に変換
- 例:{ name: "John" } → { "name": "John" }
- True / False / NULL / Null を小文字の JSON リテラルに正規化
入力 JSON がもともと有効な場合は、フォーマットだけ整えて「有効である」ことを表示します。
内部的には、JSON 修復ツールは複数の 小さく安全な変換ステップ を順番に適用し、そのたびに JSON.parse を試します。
おおまかな流れは以下の通りです。
, } や , ])を削除各ステップのあとに JSON.parse を実行し、どこかのタイミングで正しくパースできたら、その時点で変換を打ち切り、結果を標準的なインデントで整形して表示します。
すべてのステップを終えてもまだパースできない場合は:
JSON.parse で得られた 具体的なエラーメッセージ をそのまま見せて ツールの URL は以下です。
/tools/formatters/json-repair(言語に応じてプレフィックスが付きます)代表的なユースケースをいくつか挙げると:
- バリデーターに渡して構造を検証したり
- ビューティファイアで整形したり
- チームメンバーと共有してバグ調査に使ったりできます。
- コメントを取り除き
- 細かな構文ミスを修正し
- 人間が読みやすい JSON に整えることができます。
- JSON Schema で検証したり
- CSV / XML / YAML に変換したり
- 静的解析ツールやリンターに渡す、といったことができます。
JSON Work 全体のポリシーと同様に、JSON 修復ツールも 「データはブラウザから出さない」 ことを徹底しています。
本番環境の JSON や、ユーザー情報・機密情報を含むログを扱う場合でも、安心して利用できます。
修復ツールは、JSON Work に用意されている他のツールと組み合わせて使うことで、より強力なワークフローを構築できます。
また、フォーマッター/バリデーターのページにある「関連ツール」セクションからも、JSON 修復ツールへの導線が張られています。
もし「こんなパターンも直してほしい」「このケースではこういう挙動のほうが嬉しい」といったアイデアがあれば、ぜひフィードバックをお寄せください。
JSON Work は、実際に使ってくださる開発者のみなさんの声をもとに進化させていきます。
開発者のための高速でプライバシーフレンドリーな JSON ツールを作っています
さらに多くの投稿が近日公開予定...
ブログに戻る更新の追い方、扱うトピック、リクエストについて。
このブログ一覧をブックマークし、ホームやツール一覧のガイド欄もご覧ください。記事の閲覧に登録やメール購読は不要です。
JSON の検証・整形・変換・デバッグの流れと JSON Work の更新で、サイト上の無料ツールがブラウザ内でできることと対応づけています。
はい。About の連絡先や GitHub からどうぞ。実務の統合やデバッグに直結するテーマを優先しています。