JSON圧縮
JSONドキュメントから不要な空白と改行をすべて取り除きます。すべてブラウザ内で動作します。
すべてブラウザ内で動作します。アップロード、記録、保存は一切行いません。
圧縮したJSONは、ネットワーク上や、誰も手で読まない設定ファイルに向いています。整形済みのドキュメントを貼り付けると、コンパクトな形と削減できたバイト数が得られます。
仕組み
ドキュメントを解析し、トークンの間に空白を入れずに書き直します。消えるのは意味のない空白だけです。文字列値の中のスペースや改行はデータの一部なので、仕様どおりエスケープされて保持されます。
表示される削減量は生のバイト数に対するものです。HTTPでは実際の効果はたいてい小さくなります。繰り返されるインデントは圧縮でかなりうまく処理されるためです。
例
| ケース | 入力 | 結果 |
|---|---|---|
| 空白を削除 | { "id": 7, "tags": [ "a", "b" ] } | {"id":7,"tags":["a","b"]} |
よくある質問
圧縮したJSONは解析が速くなりますか?
わずかに速くなりますが、測定できるほどの差が出ることはまれです。本当の利点は転送サイズで、それすらgzipやbrotliの圧縮がミニファイより先にほとんどの差を埋めてしまいます。
圧縮するとデータが変わりますか?
値は一切変わりません。数値の表記が正規化されたり、非ASCII文字がエスケープシーケンスではなくそのまま出力されたりすることはありますが、解析結果は同一です。
知っておきたいこと
- すべてブラウザ内で処理されます。ドキュメントはアップロードも記録も保存もされません。
- 2^53を超える整数は精度が失われます。ここで処理を行うJavaScriptが、JSONの数値をすべて倍精度浮動小数点数として読み取るためです。非常に大きなIDは文字列として扱ってください。