JSON プリティファイア、ミニファイア、バリデーター
下に JSON を貼り付けてフォーマット、縮小、または検証します。
- 上のボックスに JSON を貼り付けるか入力します。
- 整形をクリックしてインデント付きでフォーマットします。
- 縮小で空白を取り除く、または検証で構文エラーを確認します。
- 完了したら結果をコピーまたはダウンロードします。
何ができるのか?
整形は JSON を一貫したインデント (スペース 2、4、またはタブ — お好みで) で再整形します。縮小は不要な文字をすべて取り除いて出力を最小限にし、URL への JSON 埋め込み、単一の DB カラムへの保存、API ペイロードの縮小に有用です。検証は入力が JSON 仕様に準拠するか確認し、構文エラーの正確な行と列を示します。
例
縮小された入力:
{"name":"Ada","skills":["math","logic"],"active":true} スペース 2 インデントで整形後:
{
"name": "Ada",
"skills": ["math", "logic"],
"active": true
} よくある JSON エラーと修正方法
これらが「invalid JSON」エラーの大半を占めます。バリデーターは該当の行と列を指し示すので、見るべきポイントが分かれば原因はたいてい明白です。
- 末尾のカンマ。 {"a": 1, "b": 2,} は無効です。JSON はオブジェクトや配列の最終要素の後のカンマを許しません。
- シングルクォート。 {'a': 1} は無効です。JSON の文字列とキーはダブルクォートを使います。
- クォートなしのキー。 {a: 1} は無効です — JavaScript のオブジェクトリテラルでは許されますが、JSON では許されません。
- カンマの欠落。 {"a": 1 "b": 2} は無効です。隣接する要素の間にはカンマ区切りが必要です。
- コメント。 // こうしたもの、または /* こうしたもの */ は厳密な JSON (RFC 8259) では許されません。削除するか JSONC パーサーを使ってください。
- スマートクォート。 ワープロからのコピペで " が波括弧クォートに置換され、JSON に拒否されることがあります。クォートを打ち直すか、プレーンテキストエディター経由で貼り付けてください。
よくある質問
JSON は正しそうなのに無効と表示されるのはなぜ?
多くの「invalid」エラーは次の4つのどれかが原因です: 配列やオブジェクトの最終要素の後の末尾カンマ、ダブルクォートではなくシングルクォート、クォートなしのオブジェクトキー、要素間のカンマ欠落。バリデーターが問題の正確な行と列を示すので、そこに直接ジャンプできます。
整形と縮小の違いは?
整形は JSON をインデントと改行で再整形し、読みやすくします。縮小は空白をすべて取り除いて出力をできる限り小さくし、URL への JSON 埋め込みやネットワークペイロードの削減に便利です。どちらも意味的に同一の JSON を生成します — 空白のみが異なります。
このツールは非常に大きな JSON ファイルを扱えますか?
はい、ブラウザの限界まで。最新のブラウザは数十メガバイトの JSON を問題なくパースできます。ボトルネックはたいていパースではなく、textarea への出力のレンダリングです。50 MB を超えるファイルでは整形中にタブが一瞬止まることがあります。
コメント付き JSON (JSONC や JSON5) をサポートしますか?
いいえ。このツールは厳密な JSON 仕様 (RFC 8259) を使い、コメント、末尾カンマ、シングルクォート文字列を許しません。JSONC や JSON5 の入力がある場合は、まず非標準の構文を除去するか、その方言専用のパーサーを使ってください。
整形するとキーの順序は変わりますか?
いいえ。出力は入力と同じキー順序を保ちます。JavaScript の文字列キーのオブジェクト反復は順序付きで、このツールは整形中に並べ替えや再配置を行いません。
ここに貼り付けた JSON を保存していますか?
いいえ。ボックスに貼り付けた JSON は保存しません。整形、縮小、検証したものはページを閉じるか更新した瞬間に破棄されます — ログなし、あなたのペイロードの記録は私たちの側にありません。念のためブラウザの DevTools を確認してください。