メインコンテンツへスキップ
SDETRole
SDETRole

JSON・データ

JSON 圧縮ツール(Minifier)

JSON から空白を取り除き、削減されたサイズを表示。

すべてブラウザ内で動作 登録不要

Input JSON

0 chars

Minified

このツールについて

圧縮した JSON は、cURL コマンド、CI の環境変数、CSV のセル、クエリパラメーターなど、ペイロードを 1 行にしたいときに便利です。このツールはまず入力を検証するので、壊れたペイロードを使ってしまうことはありません。圧縮前後のサイズも表示します。ブラウザ自身の JSON パーサーで解析し、空白なしで再シリアライズするため、出力は JSON.stringify の結果とまったく同じです。

使い方

  1. 整形された JSON を貼り付けるか、サンプルを読み込みます。
  2. バナーを確認します。不正な JSON は圧縮されず、エラー位置が表示されます。
  3. 1 行の出力をコピーするか、ファイルとしてダウンロードします。緑のバナーに圧縮前後のサイズが表示されます。

テスターが圧縮 JSON を必要とする場面

  • cURL コマンドのリクエストボディ。1 行の -d '{...}' なら貼り付けや共有が簡単です。
  • サービスアカウントキーやフィーチャーフラグのマップなど、JSON を保持する CI のシークレットや環境変数。
  • CSV やスプレッドシートの 1 セルに JSON ペイロードを入れるデータ駆動テスト。
  • JSON を含むクエリパラメーター。先に圧縮してから URL エンコードします。
  • 1 行に 1 つの JSON ドキュメントを前提とするログ行や NDJSON ファイル。

圧縮(Minify)はデータ圧縮ではない

HTTP では、レスポンスは通常 gzip や Brotli で圧縮され、空白は非常によく圧縮されます。そのため、レスポンスを Minify しても、ここに表示されるバイト数ほど通信量は減りません。Minify が最も効果を発揮するのは、環境変数、データベースのカラム、URL、リポジトリにコミットするフィクスチャなど、JSON が圧縮されずに保存・貼り付けされる場面です。

コードやコマンドラインで JSON を圧縮する

  • JavaScript:JSON.stringify(JSON.parse(text))。
  • Python:json.dumps(obj, separators=(",", ":"))。デフォルトの区切り文字ではカンマとコロンの後にスペースが入ります。
  • jq:jq -c . payload.json でコンパクトに出力します。
  • Java の Jackson:new ObjectMapper().writeValueAsString(obj) はデフォルトでコンパクトです。

JSON 圧縮ツール(Minifier) のよくある質問

圧縮すると値が変わることはありますか?

いいえ。削除されるのはトークン間の空白だけで、文字列値の中の空白はそのまま保持されます。ただし注意点として、2^53 − 1 を超える整数はこのツールを含む JavaScript ベースのパーサーで丸められるため、非常に大きな ID は文字列で保持してください。

コメントを含む JSON を圧縮できますか?

いいえ。コメントは正しい JSON ではないため、入力は拒否されます。先にコメントを削除してください。JSONC ファイル(VS Code の設定ファイルなど)の場合は、読み込むツール側が明示的にコメントに対応している必要があります。

出力をそのままシェルコマンドに貼り付けても安全ですか?

自動的に安全になるわけではありません。シングルクォートで囲んだシェル文字列の中では、データ内のシングルクォートをエスケープする必要があります。cURL コマンド生成ツールならクォート処理を自動で行います。

キーワードを入力すると SDETRole 全体を検索できます。

Pagefind による全文検索 · ブラウザ内で動作します 検索ページを開く →