表示言語: 日本語 英語に切り替え

JSON プリティファイア、ミニファイア、バリデーター

下に JSON を貼り付けてフォーマット、縮小、または検証します。

  1. 上のボックスに JSON を貼り付けるか入力します。
  2. 整形をクリックしてインデント付きでフォーマットします。
  3. 縮小で空白を取り除く、または検証で構文エラーを確認します。
  4. 完了したら結果をコピーまたはダウンロードします。
何ができるのか?

整形は 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 を確認してください。