JSON 圧縮
無料オンラインJSON圧縮ツール。JSONの1行コンパクト圧縮・JSON Escape/Unescapeに対応し、スマート構文修復を内蔵して末尾カンマなどの一般的なエラーを自動処理。リアルタイムで圧縮率を表示、CodeMirrorエディタにショートカットキー付き、純フロントエンド処理。
関連おすすめ
JSON圧縮(JSON Minify)とは何ですか?
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はトランスポート層の汎用圧縮アルゴリズムであり、両者は組み合わせて使用できます。
ユースケース
- API開発でJSONリクエスト/レスポンスボディを圧縮し、HTTP転送バイト数を削減してAPIレスポンス速度を向上(特にモバイルの弱いネットワーク環境)
- リリース前にフロントエンドのJSON設定ファイル・i18n言語パック・Mockデータを軽量化し、静的リソースのサイズを削減
- ユニットテストコード・Postman/curlコマンドでJSONオブジェクトをエスケープして文字列リテラルとしてコードに埋め込む
- ログからコピーしたエスケープ済みJSON(例:\"key\":\"value\")をワンクリックでUnescapeして読みやすいJSONに復元
- 末尾カンマ・シングルクォートなどの構文エラーがあるJSONファイルを一括修復し、ワンクリックで正規のJSONに変換
- フォーマット済みJSONを1行に圧縮してコマンドライン引数やチャットツールに貼り付けて共有
使い方
- JSONコンテンツを左側のエディタに貼り付けるか、アップロードボタンをクリックしてローカルの.json/.txtファイルを選択、または「サンプル」ボタンをクリックしてサンプルを読み込み
- デフォルトで圧縮モードが自動実行されます(400msデバウンス)。手動で「圧縮」ボタンをクリックするかショートカットShift+Cmd/Ctrl+Cを押すことも可能
- コード文字列にエスケープする必要がある場合はShift+Cmd/Ctrl+Eを押すかモードをエスケープに切り替え;エスケープ文字列を復元する必要がある場合はShift+Cmd/Ctrl+Uを押す
- JSONに構文エラーがある場合、下部に赤色のエラーメッセージが表示されます。修復可能なエラーがある場合は「修復を試みる」ボタンが表示され、クリックすると自動修正されます
- 下部のステータスバーに圧縮前/後のバイト数と圧縮率パーセンテージがリアルタイム表示されます。結果を確認したら「コピー」または「ダウンロード」ボタンをクリック
- 左右のペイン間の分割バーはドラッグして幅を調整可能。キーボードショートカットを使用してすべての操作を素早く完了することもできます
特徴
- 3 in 1機能:JSONコンパクト圧縮 + Escape + Unescape、サイズ削減・コード文字列埋め込み・エスケープ復元の3大シナリオをカバー
- スマート構文修復:tryFixJSONエンジンを内蔵し、末尾カンマ・シングルクォート・コメント・閉じていないクォートなどの一般的なJSONエラーを自動検出・修復
- CodeMirrorエディタ:左側に入力、右側に結果の2ペインレイアウト、JSON構文ハイライト・ドラッグ可能な分割バー・フォントサイズ調整に対応
- リアルタイム圧縮統計:ステータスバーに元のサイズ(Bytes/KB/MB)・圧縮後サイズ・正確な圧縮率パーセンテージを即座に表示
- キーボードショートカット:Shift+Cmd/Ctrl+Cで圧縮、Eでエスケープ、Uでアンエスケープ、Oでアップロード、Dでダウンロード、Kでクリア、マウス不要で効率的
- 自動実行モード:貼り付けまたは編集後、400msデバウンスで自動圧縮/エスケープ、WYSIWYG
- ファイルアップロード・ダウンロード:.json/.txtファイルをドラッグまたはクリックでアップロード、処理後にoutput.jsonをワンクリックでダウンロード
- ローカル履歴メモリ:localStorageに前回の入力内容を自動保存、ページをリフレッシュしてもデータが失われない
- サンプルデータ:ワンクリックでサンプルJSONを読み込んですぐに試せる、エラー表示には修復ボタン付き
- 純フロントエンドで安全:すべての処理がブラウザローカルで実行、データはサーバーにアップロードされず、オフラインでも使用可能
よくある質問
JSON圧縮とJSONフォーマットの違いは何ですか?
JSONフォーマット(Beautify/Pretty Print)は、キーと値の間にインデント・改行・スペースを追加して人間が読みやすくするもので、開発・デバッグに適しています。JSON圧縮(Minify)は、不要な空白文字(スペース・改行・タブ・インデント)をすべて除去し、複数行のJSONを1行のコンパクト形式に変換します。サイズを削減して転送効率を向上させることを目的としており、本番環境のAPI転送・設定ファイルの軽量化・コード文字列への埋め込みに適しています。両者は相補的な操作です — 開発時はフォーマット版を表示し、リリース時は圧縮版を使用します。
JSON Escape(エスケープ)とは何ですか?いつ使う必要がありますか?
JSONエスケープとは、JSON文字列内の特殊文字にバックスラッシュによるエスケープを追加することです(主にダブルクォート " を \" に、バックスラッシュ \ を \\ に、改行を \n に変換するなど)。複数行のJSONオブジェクトを、JavaScript・Java・Pythonなどのソースコードに直接埋め込める1行の文字列リテラルに変換します。代表的なシナリオ:ユニットテストでJSONレスポンスを文字列としてテストコードに埋め込む;PostmanやcurlコマンドでJSON文字列を渡す;設定ファイルでJSONを文字列値として使用する。Unescapeはエスケープされた文字列を標準JSONに戻す逆操作です。
入力したJSONに構文エラー(末尾カンマなど)があっても圧縮できますか?
はい、できます。本ツールにはスマート構文修復エンジン(tryFixJSON)が内蔵されており、圧縮前に一般的なJSONエラーを自動検出して修復を試みます:1)末尾の余分なカンマ(trailing comma)、例 {"a":1,};2)ダブルクォートの代わりにシングルクォート、例 {'a':1};3)閉じていない文字列;4)JavaScriptコメント(// および /* */);5)末尾の余分なカンマなど。修復後に圧縮またはエスケープを実行し、出力されるJSONが100%正規であることを保証します。修復可能なエラーが検出されると、パネルに「修復を試みる」ボタンが表示され、クリックするとワンクリックで修正できます。
JSON圧縮でデータが失われることはありますか?圧縮率はどのくらいですか?
データが失われることはありません。JSON圧縮はフォーマット用の空白文字(スペース・改行・タブ)を除去するだけで、キー名・キー値・データ型・構造を一切変更しません。JSON.parseしてからJSON.stringifyした結果は元のデータと完全に一致します。圧縮率は元のJSONのフォーマット状態に依存します:元が2スペースインデントのフォーマット済みJSONの場合、圧縮率は通常20%-40%(インデントと改行の除去);連続したスペースや(修復後の)コメントが大量にある場合、圧縮率は50%以上に達することがあります。ステータスバーに元のバイト数・圧縮後のバイト数・正確な圧縮率がリアルタイムで表示されます。
機密性の高いJSON設定やAPIデータを圧縮する際に情報漏洩はありませんか?
ありません。本ツールは純フロントエンド処理アーキテクチャを採用しており、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
- JavaScript Object Notation(JavaScriptオブジェクト表記法)、キーバリューペアと配列構造を使用する軽量データ交換フォーマット。人間に読みやすく機械で解析しやすい、REST APIの標準データフォーマットです。
- Minify / 圧縮
- コード/データから不要なすべての文字(スペース・改行・コメント)を除去してサイズを削減するプロセス。JS/CSS/JSONなどのフロントエンドリソースで一般的です。
- Beautify / フォーマット
- Minifyの逆操作。インデント・改行・スペースを追加してJSON構造を明確で読みやすくします。PrettifyまたはPretty Printとも呼ばれます。
- Escape / エスケープ
- 特殊文字の前にバックスラッシュを追加し(例:" が \" に、改行が \n になる)、複数行JSONをコードに埋め込み可能な1行文字列リテラルに変換します。
- Unescape / アンエスケープ
- Escapeの逆操作。\"、\n、\\ などのエスケープシーケンスを元の文字に復元し、標準JSON形式を回復します。
- Trailing Comma / 末尾カンマ
- オブジェクトまたは配列の最後の要素の後にある余分なカンマ。JavaScriptでは許可されますがJSON標準では許可されず、最も一般的なJSON構文エラーです。
- Gzip / Brotli
- HTTPトランスポート層の汎用圧縮アルゴリズム。JSON Minifyと相補的で、Minify後にGzip圧縮するのが最も効果的です。
- Payload / ペイロード
- APIリクエストまたはレスポンスで実際に転送されるデータ本体(通常はJSON形式)。Payloadを圧縮すると帯域幅消費を直接削減できます。
- CodeMirror
- ブラウザ側のコードエディタコンポーネント。本ツールはこれを使用してJSON構文ハイライト・行番号・括弧一致などのプロフェッショナルな編集体験を提供しています。
JSON圧縮と一般的な圧縮方式の比較
| 圧縮方式 | 圧縮レイヤー | 無損失 | 可読性 | 適用シナリオ |
|---|---|---|---|---|
JSON Minify | コンテンツ層(空白除去) | 無損失 | 不可読(1行) | 本番API転送、設定の軽量化 |
JSON Beautify | コンテンツ層(空白追加) | 無損失 | 高可読性 | 開発デバッグ、人手での閲覧 |
Gzip | トランスポート層 | 無損失 | 不可読(バイナリ) | HTTPレスポンスのContent-Encoding |
Brotli | トランスポート層 | 無損失 | 不可読(バイナリ) | HTTPS静的リソース圧縮(Gzipより20%高効率) |
MessagePack | シリアライゼーション層 | 無損失 | 不可読(バイナリ) | 高性能RPC内部通信 |
JSONエスケープ特殊文字対応表
| 元の文字 | エスケープ後 | 名前 | 説明 |
|---|---|---|---|
" | \" | ダブルクォート | JSON文字列で最も一般的にエスケープが必要な文字 |
\ | \\ | バックスラッシュ | エスケープ文字自体をエスケープする必要がある |
改行 | \n | Newline | 複数行文字列を1行に圧縮する際にエスケープが必須 |
タブ | \t | Tab | インデントTabのエスケープ |
復帰 | \r | Carriage Return | WindowsのCRLF改行におけるCR |
/ | \/ | スラッシュ | JSON標準ではエスケープ許可だが必須ではない(オプション) |
Authoritative References
- IETFJSON 公式仕様 (RFC 8259)
- MDNJSON - MDN Web ドキュメント
- WikipediaJSON - ウィキペディア
- JSON 圧縮
- CSV to JSON
- JSON から CSV
- JSON Diff
- JSON Escape / Unescape
- JSONフラット化
- JSON フォーマッター
- JSON 生成
- JSONPath オンラインクエリ
- JSON マージ
- JSON 修復
- JSON Schema バリデーター
- JSONソート
- JSON Stringify
- JSONをHTMLに変換
- JSONからJavaへ
- JSON から Markdown
- JSON を SQL に変換
- JSON から TOML へ変換
- JSONをTypeScriptに変換
- XML を JSON に変換
- JSONをXMLへ変換
- YAML を JSON に変換
- JSON → YAML 変換
- JSON から Go へ
- JSON から Rust
- JSON から Swift
- JSON から C#
- JSON から C++
- JSON を PHP に
- JSON から Python