本文へスキップ
1123.net
JA
1123.net

ツールを検索

ツール一覧を絞り込めます。すべてお使いのブラウザ内で動作します。

入力するとツールが絞り込まれます。Enter キーで最初の結果を開きます。

JSON フォーマッター

この JSON フォーマッターは、データをどこにも送信せずに JSON を整形・圧縮・検証します。不正な入力に対しては、解析に失敗した行と列が表示され、キーの並べ替えを有効にすると差分が読みやすくなります。

データはブラウザ内でローカルに処理され、当サイトのサーバーへアップロードされることはありません。

このツールの使い方

  1. 1 左側の入力欄に JSON を貼り付けるか入力します。入力はすぐに検証されます。
  2. 2 「整形」で読みやすく整形し、「圧縮」で不要な空白をすべて削除します。
  3. 3 2 スペース、4 スペース、タブからインデントを選び、キーの順序を固定したい場合は「キーを並べ替え」を有効にします。
  4. 4 結果をコピーまたはダウンロードするか、両方の欄をクリアして最初からやり直します。

計算式と計算ロジック

整形の仕組み

JSON.stringify(value, null, indentation)

整形では JSON を値として解析し、選択したインデントで再度シリアライズします。圧縮も同じシリアライズを使いますが、インデントと余分な空白は付けません。

エラー位置

無効な JSON → 位置、続いて行と列

解析に失敗すると、パーサーの位置が行番号と列番号に変換されます。ブラウザや実行環境のメッセージは、短い接頭辞の後に表示されます。

計算例

コンパクトなオブジェクトを整形する

1 行の API レスポンスを読みやすくしたいとき。

  1. 入力: {"b":2,"a":1}
  2. 2 スペースで整形します
  3. 出力: { "b": 2, "a": 1 }

整形後のほうが内容を確認しやすくなります。圧縮すると、空白のない元のコンパクトな形に戻ります。

構文エラーを見つける

末尾のカンマが原因で設定ファイルが壊れているとき。

  1. ファイルを貼り付けてエラーの行を確認します
  2. エラーは不正なトークンを含む行を指します
  3. トークンを削除して、もう一度整形します

行番号と列番号は、パーサーが処理を続けられなかった最初の位置を示します。

境界ケースと精度

JSON は JavaScript ではない

コメント、末尾のカンマ、シングルクォート、undefined は有効な JSON ではありません。ファイルが JSON5 や JSONC の場合は、専用の JSON リンターを使ってください。

大きなドキュメント

整形はローカルで行われますが、非常に大きなドキュメントでは少し時間がかかることがあります。ブラウザのメモリ上限が適用されるため、巨大なファイルは分割してください。

キーの順序

仕様上、JSON オブジェクトの順序は決まっていません。キーの並べ替えを有効にすると出力が決定的になり、ファイルの比較に便利です。

よくある質問

フォーマッターは無効な JSON を修正しますか? +

いいえ。推測して直すのではなく、問題を報告します。指摘された行または列を修正して、もう一度整形してください。

整形と圧縮の違いは何ですか? +

整形は読みやすさのためにインデントと改行を加え、圧縮はデータを小さくするために不要な空白を削除します。どちらも同じデータを保持します。

キーを並べ替えられますか? +

はい。「キーを並べ替え」を有効にすると、フォーマッターはすべての階層でオブジェクトのキーをアルファベット順に並べ替えます。配列の順序は変わりません。

JSON はアップロードされますか? +

いいえ。解析と整形はブラウザ内で実行され、データがサーバーへ送信されたり保存されたりすることはありません。

有効な JavaScript オブジェクトが失敗するのはなぜですか? +

JavaScript のオブジェクト構文ではコメント、末尾のカンマ、シングルクォートが使えますが、JSON では使えません。これらの要素を削除するか、JSON5 対応のツールを使ってください。