JSON整形

JSONを見やすく整形したり1行に圧縮したりできる無料ツールです。構文エラーの検出にも対応。APIレスポンスや設定ファイルの確認に。データは送信されません。

使い方

JSONを入力欄に貼り付け、「整形」か「圧縮」を選ぶと、結果が下に表示されます。構文が正しいかも自動でチェックし、 誤りがあればエラー箇所の手がかりを表示します。

整形・圧縮の仕組み

当ツールは、入力されたテキストを一度JSONとして読み込み、そのデータ構造から書き出し直しています。 そのため「文字列の見た目を整える」のではなく、構文として正しく読めたものだけが結果に出ます。 読めなかった場合は結果欄は空のままで、代わりに構文エラーの内容が表示されます。

  • 整形:階層ごとに半角スペース2つで字下げし、要素ごとに改行を入れます。配列の要素も1行ずつ並びます。
  • 圧縮:値と値の間の空白・改行をすべて取り除き、1行にまとめます。
  • 入力の前後の空白や改行は、読み込みの前に取り除かれます。
  • キーの並び順は、原則として入力と同じ順序が保たれます。

整形と圧縮の例

{"name":"太郎","age":30,"tags":["a","b"]} を「整形」すると、次のようになります。

モード結果
整形{ の次の行から "name": "太郎", "age": 30, "tags": [ が2スペース字下げで並び、"a", "b" はさらに2スペース深い位置に1行ずつ並びます
圧縮{"name":"太郎","age":30,"tags":["a","b"]}(空白なしの1行)
圧縮(空白入りの入力){ "a" : 1 , "b" : [ 1 , 2 ] }{"a":1,"b":[1,2]}

よくある構文エラー

JSONはJavaScriptのオブジェクト記法とよく似ていますが、書式は厳密です。次のような書き方はエラーになります。

  • 末尾の余分なカンマ{"a":1,} は不可。最後の要素の後にカンマは置けません。
  • シングルクォート{'a':1} は不可。キーも文字列もダブルクォートで囲みます。
  • キーのクォート忘れ{a:1} は不可。キーは必ず "a" と書きます。
  • コメント///* */ はJSONでは使えません。
  • 途中で切れている:括弧やクォートが閉じていないと「Unexpected end of JSON input」のようなエラーになります。

使うときの注意

  • 数値は正規化されます。1.501.51e31000 になります。
  • 桁数の非常に大きい整数(IDなど)は、そのままの桁で戻らないことがあります。正確さが必要な場合は、 JSON側で文字列として扱うのが安全です。
  • 同じキーが重複していると、後ろに書かれた値だけが残ります。{"a":1,"a":2} {"a":2} になります。
  • \u3042 のようなユニコードエスケープは、実際の文字(この場合は「あ」)に戻ります。
  • キーが数字だけの場合に限り、並び順が小さい順に入れ替わることがあります。

よくある質問

JSONの「整形」と「圧縮」の違いは?

整形はインデント(字下げ)と改行を入れて人が読みやすくします。圧縮は空白や改行を取り除いて1行にまとめ、データ量を小さくします。用途に応じて切り替えられます。

構文が正しいか確認できますか?

はい。入力すると自動で検証し、正しければ「正しいJSONです」、誤りがあればエラー内容を表示します。カンマの付け忘れやクォートの閉じ忘れなどの発見に役立ちます。

大きなJSONも扱えますか?

ブラウザ内で処理するため、極端に巨大なデータでは動作が重くなることがありますが、一般的なAPIレスポンスや設定ファイルであれば問題なく整形できます。

入力したデータは送信されますか?

いいえ。整形・圧縮・検証はすべてブラウザ内で行われ、入力内容が外部へ送信・保存されることはありません。

インデントの幅は変えられますか?

整形時のインデントは半角スペース2つ固定です。4スペースやタブに揃えたい場合は、整形した結果をタブ⇄スペース変換ツールに貼り付けて調整してください。

数値や表記が入力と少し変わることがあります。なぜですか?

一度JSONとして読み込んでから書き出し直すため、値としては同じでも表記が正規化されるためです。たとえば 1.50 は 1.5 に、1e3 は 1000 になります。また \u3042 のようなエスケープは「あ」に戻り、同じキーが重複している場合は後ろの値だけが残ります。

関連ツール

URLの変換は URLエンコード、テキストの整形は テキスト整形 もどうぞ。 整形後のインデントを4スペースやタブに揃えたいときは タブ⇄スペース変換、 改行リストからJSONの配列に使う値を作りたいときは リスト⇄区切り変換、 表形式のデータとの行き来は CSV⇄JSON変換 が便利です。