JSON 圧縮
無料オンラインJSON圧縮ツール。JSONの1行コンパクト圧縮・JSON Escape/Unescapeに対応し、スマート構文修復を内蔵して末尾カンマなどの一般的なエラーを自動処理。リアルタイムで圧縮率を表示、CodeMirrorエディタにショートカットキー付き、純フロントエンド処理。
無料オンラインJSON圧縮ツール。JSONの1行コンパクト圧縮・JSON Escape/Unescapeに対応し、スマート構文修復を内蔵して末尾カンマなどの一般的なエラーを自動処理。リアルタイムで圧縮率を表示、CodeMirrorエディタにショートカットキー付き、純フロントエンド処理。
JSONフォーマット(Beautify/Pretty Print)は、キーと値の間にインデント・改行・スペースを追加して人間が読みやすくするもので、開発・デバッグに適しています。JSON圧縮(Minify)は、不要な空白文字(スペース・改行・タブ・インデント)をすべて除去し、複数行のJSONを1行のコンパクト形式に変換します。サイズを削減して転送効率を向上させることを目的としており、本番環境のAPI転送・設定ファイルの軽量化・コード文字列への埋め込みに適しています。両者は相補的な操作です — 開発時はフォーマット版を表示し、リリース時は圧縮版を使用します。
JSONエスケープとは、JSON文字列内の特殊文字にバックスラッシュによるエスケープを追加することです(主にダブルクォート " を \" に、バックスラッシュ \ を \\ に、改行を \n に変換するなど)。複数行のJSONオブジェクトを、JavaScript・Java・Pythonなどのソースコードに直接埋め込める1行の文字列リテラルに変換します。代表的なシナリオ:ユニットテストでJSONレスポンスを文字列としてテストコードに埋め込む;PostmanやcurlコマンドでJSON文字列を渡す;設定ファイルでJSONを文字列値として使用する。Unescapeはエスケープされた文字列を標準JSONに戻す逆操作です。
はい、できます。本ツールにはスマート構文修復エンジン(tryFixJSON)が内蔵されており、圧縮前に一般的なJSONエラーを自動検出して修復を試みます:1)末尾の余分なカンマ(trailing comma)、例 {"a":1,};2)ダブルクォートの代わりにシングルクォート、例 {'a':1};3)閉じていない文字列;4)JavaScriptコメント(// および /* */);5)末尾の余分なカンマなど。修復後に圧縮またはエスケープを実行し、出力されるJSONが100%正規であることを保証します。修復可能なエラーが検出されると、パネルに「修復を試みる」ボタンが表示され、クリックするとワンクリックで修正できます。
データが失われることはありません。JSON圧縮はフォーマット用の空白文字(スペース・改行・タブ)を除去するだけで、キー名・キー値・データ型・構造を一切変更しません。JSON.parseしてからJSON.stringifyした結果は元のデータと完全に一致します。圧縮率は元のJSONのフォーマット状態に依存します:元が2スペースインデントのフォーマット済みJSONの場合、圧縮率は通常20%-40%(インデントと改行の除去);連続したスペースや(修復後の)コメントが大量にある場合、圧縮率は50%以上に達することがあります。ステータスバーに元のバイト数・圧縮後のバイト数・正確な圧縮率がリアルタイムで表示されます。
ありません。本ツールは純フロントエンド処理アーキテクチャを採用しており、JSONの解析・圧縮・エスケープ・修復のすべての処理はお使いのブラウザのJavaScriptエンジン内でローカルに実行されます。データがネットワークリクエストを通じて外部サーバーにアップロードされることはなく、オフラインでも正常に動作します。APIキー・データベース設定・業務データなどの機密情報は常にローカルに留まります。
効率向上のため、本ツールは完全なキーボードショートカットを提供しています(macOSは⌘+Shift、WindowsはCtrl+Shift):Shift+⌘/Ctrl+Cでワンクリック圧縮;Shift+⌘/Ctrl+Eでエスケープ;Shift+⌘/Ctrl+Uでアンエスケープ;Shift+⌘/Ctrl+Oでファイルアップロード;Shift+⌘/Ctrl+Dで結果をダウンロード;Shift+⌘/Ctrl+Kでクリア。入力時には400msのデバウンスで現在のモードが自動実行されるため、ボタンを繰り返しクリックする必要はありません。
JSON圧縮(JSON Minification)とは、JSONテキストから不要なすべての空白文字(スペース・改行\n・タブ\t・キャリッジリターン\r)と(標準外だが一般的な)コメントを除去し、多段インデントされたフォーマット済みJSONを1行のコンパクト形式に変換するプロセスです。JSON圧縮はデータの内容を一切変更しません — キー名・キー値・データ型(文字列/数値/ブール/null/配列/オブジェクト)・ネスト構造は完全に保持され、人間が読むためのフォーマット用の空白が除去されるだけです。
JSON圧縮の核心的な価値はデータサイズの削減にあります。フォーマット済みJSONのインデントスペースと改行は開発者には親切ですが、ネットワーク転送やストレージでは冗長なバイトです。例えば典型的なAPIレスポンスは、フォーマット後は2KBかもしれませんが、圧縮後は1.2-1.5KBになり、サイズが25%-40%削減されます。高並行APIシナリオ・モバイルの弱いネットワーク環境・大規模設定ファイル配信では、JSON圧縮により帯域幅消費を大幅に削減し、転送速度を向上させ、サーバーのオーバーヘッドを削減できます。本番環境では通常Gzip/BrotliなどのHTTP圧縮と併用されますが、コンテンツ層の圧縮であるJSON Minifyは引き続き不可欠です。
JSON圧縮の実装は非常にシンプルです:JSON.parse()でテキストをJavaScriptオブジェクトに解析し、JSON.stringify(obj)をインデントパラメータなしで実行してシリアライズ出力するだけです — これがまさに本ツールのコア実装方法です。このparse + stringifyの方式により、出力されるJSONが100%正規であることが自然に保証され、(エラー修復と併せて)不正なコメントや末尾カンマも自動的に除去できます。注意点:JSON圧縮とGzip圧縮は異なるレイヤーの最適化です — JSON Minifyはコンテンツ層で冗長な空白を除去し、Gzipはトランスポート層の汎用圧縮アルゴリズムであり、両者は組み合わせて使用できます。
| 圧縮方式 | 圧縮レイヤー | 無損失 | 可読性 | 適用シナリオ |
|---|---|---|---|---|
JSON Minify | コンテンツ層(空白除去) | 無損失 | 不可読(1行) | 本番API転送、設定の軽量化 |
JSON Beautify | コンテンツ層(空白追加) | 無損失 | 高可読性 | 開発デバッグ、人手での閲覧 |
Gzip | トランスポート層 | 無損失 | 不可読(バイナリ) | HTTPレスポンスのContent-Encoding |
Brotli | トランスポート層 | 無損失 | 不可読(バイナリ) | HTTPS静的リソース圧縮(Gzipより20%高効率) |
MessagePack | シリアライゼーション層 | 無損失 | 不可読(バイナリ) | 高性能RPC内部通信 |
| 元の文字 | エスケープ後 | 名前 | 説明 |
|---|---|---|---|
" | \" | ダブルクォート | JSON文字列で最も一般的にエスケープが必要な文字 |
\ | \\ | バックスラッシュ | エスケープ文字自体をエスケープする必要がある |
改行 | \n | Newline | 複数行文字列を1行に圧縮する際にエスケープが必須 |
タブ | \t | Tab | インデントTabのエスケープ |
復帰 | \r | Carriage Return | WindowsのCRLF改行におけるCR |
/ | \/ | スラッシュ | JSON標準ではエスケープ許可だが必須ではない(オプション) |