tigtools

JSONをオンラインで整形・圧縮する方法

JSONをオンラインで読みやすく整形(プリティプリント)したり、コンパクトに圧縮(ミニファイ)したりする方法を手順付きで解説します。インデントの選択、キーの安全な並べ替え、大きなファイルの扱い、JavaScriptの安全な整数範囲を超える数値の保護も紹介します。

執筆者:TIG Tools editorial team公開日:2026年10月25日読了時間:約1分

JSONをフォーマットすると、読みやすくなったり、送信や保存に適したコンパクトな形になったりします。フォーマッターはインデントの追加や不要な空白の除去を行い、構文エラーの発見にも役立ちます。ただし、キーの並べ替えや数値の処理は見た目以外にも影響を与える可能性があります。以下の手順と確認事項に従って、アプリケーションが必要とする内容を誤って変更せずにJSONを整形してください。

プリティプリントとミニファイ

プリティプリントは、ネストしたオブジェクトや配列を読み取りやすくするために改行とインデントを追加します。レスポンスの確認、設定ファイルの編集、人とデータを比較する場合に便利です。たとえば、次のコンパクトなJSONは:

{"name":"Mina","active":true,"tags":["editor","admin"]}

次のようにプリティプリントできます:

{
  "name": "Mina",
  "active": true,
  "tags": [
    "editor",
    "admin"
  ]
}

ミニファイは省略可能な空白を削除し、通常はドキュメントを1行にまとめます。これによりファイルの文字数を減らせますが、gzipなどの圧縮形式と同じようにデータを圧縮するわけではありません。ミニファイされたJSONは手動で確認しにくいため、編集やトラブルシューティングが必要な場合は読みやすいコピーを残してください。

オブジェクトのキーが一意で、パーサーが表現できる値を持つ通常のJSONでは、プリティプリントとミニファイは基になるデータではなく空白だけを変更します。ただし、フォーマッターはドキュメントをパースして再シリアル化する必要があるため、重複キー、数値の精度、エスケープの扱いは実装によって異なる場合があります。整形結果は新しいファイルとして扱い、重要な原本を置き換える前に確認してください。

JSONをオンラインでフォーマットする

  1. TIG JSONフォーマッター を開きます。
  2. 整形したいJSONを貼り付けるか入力します。
  3. 読みやすい出力にするためにインデント(2スペース、4スペース、タブ)を選択するか、コンパクトな形式にするには「ミニファイ」を選択します。
  4. 結果を確認し、コピーするかプロジェクトに保存します。
  5. 入力が拒否された場合、フォーマッターは最初のエラーを行番号と列番号付きで報告します。JSONバリデーターでは、問題のある位置にマーカーを付けて行も表示します。

フォーマッターは正しいJSONを読みやすくする助けになりますが、データが何を意味するのかを推測することはできません。整形後は重要なフィールドを確認し、そのJSONを利用するアプリケーションで結果をテストしてください。

インデントスタイルの選択

インデントは読みやすさのための選択肢であり、JSONが特定のスペース数を必要とするわけではありません。レベルごとに2スペースは、コンパクトで読みやすいファイルでよく使われます。4スペースは広い画面でネストを追いやすくなり、タブはすでにタブを使っているプロジェクトに合うかもしれません。1つの規則を選び、一貫して使用してください。

インデントは空白を変更するだけで、データ構造は変わりません。ただし、ファイルの文字数は増えるため、コンパクトな表現が必要な場合はミニファイが便利です。引用符で囲まれた文字列の内部にスペースや改行を挿入しないでください。それらは整形用の空白ではなく、文字列値の一部になります。

オブジェクトのキーを並べ替えるべきか

JSONオブジェクトは名前と値のペアの集まりであり、オブジェクトのメンバー順序は意味を表現する信頼できる方法ではありません。一方、配列は順序があります。アプリケーションがその順序を使用する場合、配列項目の順序を変更すると意味が変わります。キーを並べ替えるとファイルの比較が容易になったり、生成される出力が安定したりしますが、必須ではなく、元のファイルと異なる結果になることがあります。

読みやすい差分を作成する、プロジェクトの規則に従うなど、実際的な理由がある場合にのみキーを並べ替えてください。TIGフォーマッターの「キーをA–Zで並べ替え」オプションは、すべての階層のすべてのオブジェクトのキーを並べ替え、配列の順序は維持します。使用前に出力を確認してください。なお、JavaScriptベースのフォーマッター(このツールを含む)は、並べ替えをオフにしていても、整数のように見えるキー("1"、"20")を他のキーより先に配置することに注意してください。配列の中身をオブジェクトのキーであるかのように並べ替えないでください。

また、重複するオブジェクト名には注意してください。RFC 8259では、オブジェクト名は一意であるべきとされています。一意でない場合、パーサーによって扱いが異なる可能性があります。そのようなオブジェクトを並べ替えたり再シリアル化したりすると、問題が分かりにくくなったり、値が失われたりする恐れがあります。どの値を残すかをフォーマット処理に委ねるのではなく、入力を検証し、元のデータで重複名を解決してください。

JSONが署名、キャッシュキー、厳密なテキスト比較に使われる場合、キー順序や数値の表記を変更すると、データが同等に見えてもバイト列が変わることがあります。アルファベット順のキー並べ替えだけで十分と仮定せず、システムが要求する正規化手順に従ってください。

例: APIレスポンスの整形

たとえば、APIが次の1行のレスポンスを返したとします。

{"order":{"id":"A-1042","items":[{"sku":"MUG-BLUE","quantity":2},{"sku":"NOTEBOOK","quantity":1}],"paid":true}}

プリティプリントにより、注文とその2つの明細項目を確認しやすくなります。paid がブール値であること、quantity の値が数値であること、注文IDが文字列であることを確認できます。整形によって items 配列を並べ替えてはいけません。その順序はアプリケーションや読む人にとって重要かもしれません。後で保存や転送のためにレスポンスをミニファイする場合は、1行の見た目だけでなく値を比較して、重要なものが変わっていないことを確認してください。

大きなJSONファイルの扱い

大きなファイルは、読み込み、パース、表示に多くの時間とメモリを要します。入力が利用可能なメモリに対して大きすぎると、ブラウザが遅くなったり、応答しなくなったりすることがあります。ファイルが扱いにくい場合は、より小さなサンプルを処理できるか、意味のあるレコード境界でデータを分割できるか、大きな入力を想定したコマンドラインやストリーミングツールを使えるかを検討してください。任意の文字位置でテキストを分割しないでください。文字列の途中で切れたり、オブジェクトが不完全になったりして、不正なJSONになる可能性があります。

機密データをオンラインツールに貼り付ける前には、そのツールと組織のデータ取り扱い規則が適切かどうかを確認してください。TIG JSONフォーマッターはブラウザ内で動作し、テキストをサーバーに送信しません。大きくて重要なファイルの場合は、変更しないバックアップを保管してください。最初に代表的な小さな部分でフォーマッターをテストし、元のファイルを上書きする前に、完全な結果が有効であることを検証してください。

2^53を超える数値

JSONの数値構文では小数を含む数値を使えますが、すべてのパーサーが無制限の精度で数値を保持することを要求しているわけではありません。多くのブラウザベースのツールやJavaScriptアプリケーションはJavaScriptの Number 型を使用しており、安全な整数範囲を超えるとすべての整数を正確に表現できるとは限りません。最大の安全な整数は 9007199254740991(2^53 − 1)です。たとえば、9007199254740993 はJavaScriptでは 9007199254740992 としてパースされる場合があります。パース時に丸められると、フォーマッターは元の値を復元できません。

これは、大きなデータベースID、口座番号、正確な金額の計算で重要です。受け取るシステムが許容する場合、正確な大きな整数はJSON文字列として表現します:

{
  "accountId": "9007199254740993"
}

文字列は桁を保持しますが、数値とは異なるJSON型です。そのJSONを利用するソフトウェアが文字列を期待していることを確認してください。小数の金額については、フォーマッターが任意の精度を保持すると仮定せず、アプリケーションと合意した表現方法と小数処理方法を使用してください。

正確な数値が重要な場合は、元の値をパースし、整形して出力を確認し、重要な値を比較するラウンドトリップテストを行ってください。見た目が似ていることだけに頼ってはいけません。丸められた数値は、間違っていてももっともらしく見えることがあります。

まとめ

  • ネストしたデータを読みやすくするためにJSONをプリティプリントし、コンパクトな出力が有用な場合はミニファイします。
  • 一貫したインデントスタイルを選びます。文字列内の空白は整形ではなくデータです。
  • オブジェクトのキーは有用な場合にのみ並べ替え、配列を順序のないものとして扱わないでください。
  • 大きなファイルはブラウザのメモリに負荷をかけます。バックアップを保管し、出力を検証してください。
  • JavaScriptの正確な整数範囲を超える整数は、受け取るシステムがその表現をサポートしている場合、文字列として保存してください。

今すぐ試す

JSONフォーマッター をブラウザ上で無料ですぐに使えます。サインアップは不要で、ファイルはお使いのデバイスに残ります。

JSONフォーマッター を開く