Toolify

JSON 整形・圧縮 — 検証付きフォーマッター

JSONを貼り付けて2/4/8スペースで整形するか、1行に圧縮できます。不正なJSONはパーサーのエラーメッセージで原因箇所が分かります。

整形後
{
  "hello": "world",
  "items": [
    1,
    2,
    3
  ]
}
入力: 38バイト・出力: 60バイト

仕組み

本ツールの役割

JSONは厳密なフォーマットで、引用符・カンマ・括弧の位置が1つでも違うとブラウザやAPIが「Unexpected token」のような分かりにくいエラーを返します。本ツールはブラウザのネイティブJSONパーサーで入力を解析し、整形(インデント付き)または圧縮(空白除去)して再シリアライズします。

パースに失敗した場合は、エラー位置が含まれるパーサーの生メッセージを表示します。これにより、欠けたカンマ・エスケープされていない引用符・末尾カンマなどを素早く特定できます。

整形と圧縮の使い分け

整形(pretty print): JSONを人が読むための標準形式。JavaScript系プロジェクトでは2スペース、Python・Java系では4スペースが慣例です。プロジェクトの慣例に合わせてください。

圧縮(minify): 1行に空白なしで畳みます。URL・環境変数・ストレージ容量が問題になる場面で有用です。一般的な整形済み設定ファイルは圧縮で20〜40%サイズ削減できます。

よくあるJSONの落とし穴

末尾カンマ。JavaScriptでは許容されますがJSONでは無効です。{a:1, b:2,} はエディタでは通っても、JSON.parseで失敗します。

シングルクォート。JSONはキー・値のどちらもダブルクォート必須です。{'a': 1} は無効、{"a": 1} が正しい。

コメント。JSONにはコメントがありません。// や /* */ を含めるとパース失敗します。VS CodeのJSONCはコメント対応ですが標準JSONではありません。

数値。JSONはNaN・Infinityをサポートしません。nullにするか文字列にラップするかを下流コンシューマーに合わせて決めてください。

よくある質問

JSONC(コメント付きJSON)に対応していますか?

未対応です。先にコメントを削除するか、JSONC対応ツールを使用してください。

サイズ制限は?

現代のブラウザはMBクラスのJSONも処理できますが、約1 MBを超えると入力欄が遅くなる場合があります。巨大ファイルはデスクトップツールを推奨します。

JSONが無効と出る原因は?

末尾カンマ・シングルクォート・文字列内の未エスケープ引用符が最多原因です。パーサーのエラーメッセージにある列位置を確認してください。

キーをアルファベット順にソートできますか?

現バージョンでは未対応です。jq --sort-keysなどソート対応ツールへ通すのが最速です。今後追加検討中。

深くネストされたJSONも扱えますか?

可能です。ブラウザのJSONパーサーは実用上ほぼ無制限の深さに対応します。

圧縮で1MBが1バイトにならないのは?

圧縮は空白を除去するだけで実データは残ります。実サイズ削減にはgzip圧縮やMessagePackなどのバイナリ形式を検討してください。

入力データはサーバーに送信されますか?

いいえ。すべてブラウザ内で処理されます。

JSON Schemaバリデーションは?

本ツールは構文のみ検証します。スキーマ検証はJSON Schemaバリデーターをスキーマファイルと組み合わせてご利用ください。

関連ツール

最終更新: