戻る

JSON フォーマッター

フォーマット

読み込み中

ツールを読み込んでいます

ツールを準備しています。残り時間はまだわかりません。

このツールの処理はすべてブラウザー内で行われ、入力内容はサーバーへ送信されません。

このツールについて

JSON を貼り付けて構文を確認し、読みやすく整形できます。「整形」は2スペースのインデント、「圧縮」は不要な空白の除去、「キーを並べ替え」は再帰的なキーの並べ替えと2スペースの整形を行います。配列要素の順序は維持されます。ブラウザーの JSON.parse と JSON.stringify を使い、入力内容をアップロードしません。

主な用途

  • 圧縮された API レスポンスの階層を確認し、配列要素の順序を維持する。
  • 整形用の空白を除去して、JSON ペイロードをリクエストへコピーする。
  • 設定変更の確認前にキーを並べ替える。署名用の正規化処理ではありません。

使い方

  1. 1.入力欄へ JSON を貼り付けます。オブジェクト、配列、文字列、数値、真偽値、null を入力できます。
  2. 2.「整形」「圧縮」「キーを並べ替え」を選びます。毎回入力を解析し、構文エラーがあれば出力を消去して上部にエラーを表示します。
  3. 3.出力を確認してコピーボタンを押します。「クリア」は入力、出力、エラーを消去します。

入出力例

整形:2スペースのインデント

{"name":"Ada","active":true}
{
  "name": "Ada",
  "active": true
}

左が入力、右が出力です。配列要素の順序は変わりません。

圧縮:空白の除去

{
  "items": [2, 1],
  "ok": true
}
{"items":[2,1],"ok":true}

左が入力、右が出力です。配列要素の順序は変わりません。

キーの並べ替え:入れ子のオブジェクト

{"z":1,"a":{"d":4,"b":2},"items":[3,1]}
{
  "a": {
    "b": 2,
    "d": 4
  },
  "items": [
    3,
    1
  ],
  "z": 1
}

左が入力、右が出力です。配列要素の順序は変わりません。

よくあるエラー

  • 閉じる波括弧や角括弧がないと解析できません。入れ子の対応を確認してください。
  • 文字列内の改行には \n を使ってください。直接の改行は無効です。
  • undefined、NaN、Infinity は JSON の値ではありません。自動的には修復されません。

制限と注意事項

  • ファイルの読み込み、ダウンロード、JSON Schema 検証、自動修復はありません。JSON5 やコメントには別のツールが必要です。
  • 安全に表せない JSON 数値は解析前に拒否します。正確な ID は文字列として入力してください。
  • キーが重複すると最後の値だけが残ります。数値の表記やエスケープ表現が出力時に変わる場合があります。
  • キーは文字列として比較しますが、整数インデックスのキーは JavaScript の規則により数値順で出力されます。巨大な入力や深い入れ子はメモリーや再帰の上限に達することがあります。
  • 安全に表せない数値・非有限値は解析前に拒否します。__proto__ を含む自分のフィールドを保持し、言語変更時の下書きはメモリだけに保持します。

よくある質問

コメント、単一引用符、末尾のカンマがエラーになるのはなぜですか?

JSON を受け付けるため、JavaScript のオブジェクトリテラルは使えません。キーと文字列を二重引用符で囲み、コメントと末尾のカンマを取り除いてください。

整形できれば API の入力として正しいですか?

構文のみを確認します。必須フィールド、Schema の型や業務ルールは検証しません。

4スペースやタブを選べますか?

選べません。「整形」と「キーを並べ替え」は2スペースです。「圧縮」は整形用の空白を除去します。

関連ツール