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.50は1.5、1e3は1000になります。 - 桁数の非常に大きい整数(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変換 が便利です。