JSON フォーマッタ vs JSON Repair

フォーマッタは有効な JSON を読みやすくします。修復ツールは「ほぼ JSON」を有効な JSON に変えてからフォーマットしようとします。

フォーマッタ

JSON フォーマッタは有効な JSON を前提とします。文書をパースし、一貫したインデント・改行・空白で出力します。読みやすいログ、API 応答、フィクスチャ、設定ファイル、そしてすでに正しくパースできるネスト構造のレビューに最適です。

バリデータ

バリデータは「これは厳格な JSON か」だけを答えます。コメント、シングルクォート、無引用キー、末尾カンマ、Python リテラルなど非 JSON の構文では即座に失敗するべきです。他のパーサも受け入れるかを確認したい最初の一歩としては、検証が最適です。

修復ツール

修復ツールは「ほぼ JSON」のためのものです:意図する構造ははっきりしているが、JavaScript・Python・markdown・人間のコメントが混ざっているデータです。修復はテキストを厳格な JSON に直してから整形できるので、結果を確認しやすくなります。

ミニファイア

ミニファイアは有効な JSON から不要な空白を取り除きます。構文エラーは直しません。ペイロードサイズが効いてくる場面や、コンパクトな値を環境変数、クエリパラメータ、コマンドライン例に貼るときに使ってください。

どのツールを選ぶか

Yes/No が欲しいときは Validate。入力が有効だが読みにくいときは Format。JSON.parse が失敗し、ソースが JavaScript オブジェクト、LLM 応答、コメント付き設定、手編集スニペットなら Repair。有効・修復済みの 2 文書を比較したいときは Diff。

自動修復のリスク

修復ツールは構文を直せますが、ビジネスの意味を判断するべきではありません。引用符・コメント・カンマを直すだけなら、たいてい意図は明らかです。欠けた括弧・フィールド名・値を「推測」する場合は、本番に出す前に出力を慎重にレビューしてください。

実務的なフロー

雑然とした入力に対しては、まず修復し、次に整形、続いて検証、最後に payload がアプリ動作を左右するなら既知の良いサンプルと比較してください。最終的な strict パーサでのチェックを飛ばさずに、可読な出力が得られます。