JSON整形
JSONを貼り付けると、スペース2個・4個またはタブで整形したり、1行に圧縮したりできます。JSONが不正な場合は、エラーの行と列を表示します。
使い方
- 入力欄にJSONを貼り付けます。
- 整形を選び、スペース2つ、4つ、タブからインデントを選びます。余計な空白を消すなら圧縮、チェックだけなら検証です。キーを並べ替えにチェックを入れると、オブジェクトのキーがAからZの順に並びます。
- JSONが壊れているときは行と列が表示され、ボタンを押すとその位置にカーソルが移ります。直せば入力しながら結果が更新されます。
- コピーを押すと結果をコピーできます。
計算方法
ブラウザに組み込まれたJSONパーサーで読み込み、選んだインデントで書き出し直しています。読み込みに失敗したら、ブラウザのエラーメッセージから文字位置を取り出して行と列に変換します。Chrome、Edge、Firefox、Safariでメッセージの書き方が違うため、Safariでは位置が出ずメッセージだけになるエラーもあります。
キーの並べ替えは文字コード順で、すべての階層に適用されます。配列の順番は変わりません。JavaScriptのオブジェクトは "1" や "2" のような整数のキーを必ず先に並べるので、こうしたキーは数値順で先頭に残ります。
書き出し直すため、入力と細かい違いが出ることがあります。重複したキーは最後の値だけが残り、\u00e9 のようなエスケープは普通の文字になり、数値は最短の形(1.0 は 1)で表示されます。
よくあるJSONのエラー
| ミス | 例 | 直し方 |
|---|---|---|
| 末尾のカンマ | {"a": 1,} | 最後のカンマを消す |
| シングルクォート | {'a': 1} | ダブルクォートにする |
| クォートなしのキー | {a: 1} | "a" と書く |
| コメント | {"a": 1} // メモ | 消す(JSONにコメントはない) |
| カンマ抜け | {"a": 1 "b": 2} | ペアの間にカンマを入れる |
よくある質問
JSONはどこかに送信されますか?
いいえ。読み込みも整形もブラウザの中で行い、サーバーには送りません。APIのレスポンスや設定ファイルも安心して貼り付けられます。
見た目は正しいのにエラーになるのはなぜですか?
よくある原因は、末尾のカンマ、ダブルクォートではなくシングルクォート、クォートなしのキー、コメント、要素の間のカンマ抜けです。JSONはJavaScriptのオブジェクトより書き方が厳しいです。
整形と圧縮の違いは?
整形は改行とインデントを入れて人が読みやすくします。圧縮は文字列以外の空白をすべて消して最短にするので、リクエストや保存に向いています。
キーを並べ替えるとデータの意味は変わりますか?
変わりません。JSONオブジェクトのキーの順番は、ほとんどのプログラムにとって意味を持ちません。配列の順番は並べ替えません。
エラー位置が1つずれて見えるのはなぜですか?
パーサーは読むのをあきらめた位置を返すので、本当のミスの少し後ろになりがちです。たとえばカンマ抜けなら次の文字が示されます。示された位置の前の行も見てください。