本文へスキップ
ToolMug

JSON 整形・検証ツール(フォーマッター)

JSON を貼り付けるだけで、見やすく整形したり、1 行に圧縮したり、壊れている箇所を行・列とわかりやすい理由で正確に特定したりできます。64 ビットの ID などの大きな数値も書かれたとおりに保たれ、データはブラウザの外に出ません。

ブラウザ内で動作 — 入力した内容はアップロードされません

処理設定

入力

出力

使い方

  1. 左の欄に JSON を貼り付けるか入力します。入力と同時にチェックされます。
  2. インデントを選びます。スペース 2 個、スペース 4 個、タブ、または 1 行にまとめる「圧縮(Minify)」から選べます。
  3. 「キーを並べ替え」にチェックを入れると、オブジェクトのキーがアルファベット順に並び、2 つのドキュメントを比較しやすくなります。
  4. エラーがあればメッセージに行と列が表示されます。なければ結果をコピーまたはダウンロードします。

オプションの説明

インデント
スペース 2 個が最も一般的なスタイルです(npm、Prettier)。スペース 4 個は Python の json.dumps(indent=4) と同じで、「圧縮(Minify)」はすべての空白を削除してサイズを最小にします。
キーを並べ替え
すべての階層で、オブジェクトのキーをデコード後の値で並べ替えます。配列の順序は変更しません。
大きな数値
数値は書かれたとおりに保たれます。多くのフォーマッターは JSON を JavaScript の数値として解析するため、12345678901234567890 が気づかないうちに 12345678901234567000 に変わってしまいます。

よくある JSON のエラーと直し方

メッセージ よくある原因
予期しない文字 ' ダブルクォートの代わりにシングルクォートを使っている
末尾のカンマ 最後の要素の後にカンマがある:[1, 2,]
予期しない文字 / JavaScript からコピーした // コメントがある
ドキュメントが途中で終わっています } や ] が足りない。コピーが途中で切れていることが多い
制御文字はエスケープする必要があります 文字列の中に実際のタブや改行がある。\t や \n を使う
ドキュメントの終わりの後に予期しない内容があります 2 つの JSON ドキュメントを続けて貼り付けた、または閉じ括弧の後にテキストがある

例

入力:

{"id":9007199254740993,"name":"Ada","tags":["math","code"]}

スペース 2 個で整形した結果(ID が変わっていない点に注目):

{
  "id": 9007199254740993,
  "name": "Ada",
  "tags": [
    "math",
    "code"
  ]
}

よくある質問

「JSON では末尾のカンマは使えません」と表示されるのはなぜですか?

JavaScript では許されていますが、標準の JSON(RFC 8259)ではオブジェクトや配列の最後の要素の後にカンマを付けられません。閉じ括弧 } または ] の前のカンマを削除してください。

JSON でシングルクォートやコメントは使えますか?

使えません。JSON の文字列はダブルクォートで囲む必要があり、コメントは仕様に含まれていません。tsconfig.json のようなファイルでこれらが使えるのは、それらのツールが緩いパーサー(JSONC)を使っているためです。

JSON はサーバーに送信されますか?

いいえ。解析と整形はブラウザ内で行われるため、API レスポンス、トークン、設定ファイルが端末の外に出ることはありません。

ほかのツールで大きな ID の値が変わってしまうのはなぜですか?

JavaScript は数値を 64 ビット浮動小数点数で保持するため、正確に扱えるのは 9,007,199,254,740,991 までです。このツールは数値を変換しないので、それを超える ID もそのまま保たれます。

どのくらい大きなファイルまで扱えますか?

数メガバイトのドキュメントなら、ノートパソコンで一瞬で整形できます。数百メガバイトのファイルには、jq などのコマンドラインツールのほうが適しています。

プライバシー

このツールはすべてブラウザ内で動作します。ファイルやテキストはお使いの端末上で処理され、当サイトのサーバーにアップロードされることはありません。

関連ツール