JSON整形

JSONを貼り付けると、スペース2個・4個またはタブで整形したり、1行に圧縮したりできます。JSONが不正な場合は、エラーの行と列を表示します。

問題は解決しましたか?
Googleで優先表示

使い方

  1. 入力欄にJSONを貼り付けます。
  2. 整形を選び、スペース2つ、4つ、タブからインデントを選びます。余計な空白を消すなら圧縮、チェックだけなら検証です。キーを並べ替えにチェックを入れると、オブジェクトのキーがAからZの順に並びます。
  3. JSONが壊れているときは行と列が表示され、ボタンを押すとその位置にカーソルが移ります。直せば入力しながら結果が更新されます。
  4. コピーを押すと結果をコピーできます。

計算方法

ブラウザに組み込まれた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つずれて見えるのはなぜですか?

パーサーは読むのをあきらめた位置を返すので、本当のミスの少し後ろになりがちです。たとえばカンマ抜けなら次の文字が示されます。示された位置の前の行も見てください。