使い方
- JSON を貼り付けるか、ファイルを開くか、サンプルをお試しください。
- 入力に応じてコンパクトな結果が更新されます。サイズの削減量を確認します。
- 圧縮した結果をコピーまたはダウンロードします。
すべての値を保ちながら、JSON を小さく
最小化処理は、JSON 文字列の外にあるインデント、改行、その他の不要な空白を削除します。出力は通常の JSON パーサーで読み取れるプレーンテキストの JSON のままです。
コンパクトなテストデータ、1 行のリクエストボディー、人が読みやすいインデントを必要としないファイルに使えます。結果パネルでは文字数ではなく、実際の UTF-8 サイズを比較します。
最小化の仕組み
文書をチェックし、JSON のトークンを走査します。文字列の外にある空白トークンを省略し、残りの各トークンの元のテキストを結果にコピーします。引用符内の空白やエスケープされた改行は文字列の一部なので保持します。
1.00、1e+30、-0 などの数値表記をそのまま保持します。プロパティの順序と重複する名前も保持するため、そうした細部を異なる方法で扱うソフトウェアでも、意図しない変更を避けやすくなります。
{
"message": "hello world",
"values": [1, 2, 3]
}{"message":"hello world","values":[1,2,3]}「hello world」の空白は文字列の一部なので保持します。その周囲のインデントと改行は削除します。
サイズ比較の見方
入力と出力のサイズは UTF-8 のバイト数で測ります。削減バイト数は入力サイズから出力サイズを引いた値、削減率はその差を入力サイズで割った値です。絵文字や多くの非英語文字は、1 文字が複数バイトになります。
すでにコンパクトな文書では、削減できない場合もあります。インデントが多いファイルでは、大きく縮小することがあります。末尾に改行を付ける設定にすると、すでにコンパクトな入力より出力が少し大きくなる場合もあります。その場合も結果に正しく表示します。
最小化と転送用の圧縮は別のもの
最小化で得られるのは JSON テキストです。gzip や Brotli などの HTTP 圧縮は、転送のためにレスポンスのバイト列を符号化するもので、復号が必要です。サーバーでは両方を使えますが、このツールの割合はプレーンテキストの JSON の変化だけを示し、HTTP 圧縮後の転送量の削減率ではありません。
UTF-8 入力は最大 5 MiB、出力は最大 20 MiB、ネストは最大 128 階層、走査するトークンは最大 250,000 個、実行時間は 1 回につき最大 10 秒です。大きな文書には、より高性能なデバイスが必要になる場合があります。
よくある質問
圧縮は自動で実行されますか?
はい。入力が少し止まると読み取り専用の結果を更新し、入力内容は変えません。「自動圧縮」を無効にすると、「JSON を圧縮」または Ctrl/⌘ + Enter で手動実行できます。
入力が無効になった場合はどうなりますか?
比較できるように、前回の有効な結果を表示し続けます。コピー、ダウンロード、入力として使う操作は無効になり、現在の入力から有効な結果が得られるまで削減量を消去します。「クリア」は両方のエディターを空にします。
文字列内の空白も削除されますか?
いいえ。引用符内の空白、エスケープ文字、符号化された改行は保持します。文字列の外にある不要な空白だけを削除します。
gzip 圧縮と同じですか?
いいえ。ダウンロードするのはプレーンテキストの .json ファイルで、圧縮アーカイブではありません。HTTP 配信時には、サーバー側で別途 gzip や Brotli を適用できます。
数値表記は変わりますか?
いいえ。大きな整数、小数末尾のゼロ、指数表記、負のゼロは、元の表記を正確に保持します。最小化で浮動小数点値に変換することはありません。
出力が小さくならないのはなぜですか?
削除できる余分な空白がない可能性があります。末尾に改行を付けると 1 バイト増えるため、すでにコンパクトな入力は少し大きくなることがあります。サイズ比較には、この設定も反映されます。
コンパクトな出力が複数行に折り返されるのはなぜですか?
「行を折り返す」は、エディターで長いテキストをどう表示するかを変える設定です。コピーやダウンロードする JSON に改行は挿入しません。見た目も 1 行で確認するには、折り返しを無効にしてください。
結果を読みやすい JSON に戻せますか?
はい。JSON フォーマッターでインデントを付け直せます。読みやすい JSON は作れますが、最小化で削除した空白配置を完全に復元することはできません。
JSON がデバイスの外に送られますか?
いいえ。貼り付けたテキストとローカルファイルはブラウザー内で処理します。DevToolsy は文書をアップロードせず、文書の履歴も保存しません。必要な結果は、ページを離れる前にダウンロードしてください。