JSONフォーマッター
JSONを貼り付けると、読みやすい形式への整形、構文チェック、圧縮を行えます。インデントの選択、オブジェクトのキーの再帰的な並べ替え、結果のコピーとダウンロードにも対応しています。処理はすべてブラウザー内で行われます。
すべての処理はブラウザー内で実行され、入力内容がサーバーへ送信されることはありません。
このJSONフォーマッターの動作
整形と圧縮の違い
整形は、解析したJSONを1つのプロパティごとに改行し、選択したインデント(スペース2個、スペース4個、タブ)を付けて出力し直します。構造や入れ子の深さが読み取りやすくなるため、コードレビューや調査に向いています。圧縮は、意味を持たない空白と改行をすべて取り除き、同じ内容のまま最小のサイズにします。どちらも先にJSONとして解析するため、出力は常に構文として正しく、内容も変わりません。
よくある構文エラー
JSONで頻繁に問題になるのは、末尾に余分なカンマが残っている、キーが二重引用符で囲まれていない、文字列に一重引用符を使っている、コメントが含まれている、といったパターンです。JSONの仕様にはコメントがなく、キーは必ず二重引用符で囲む必要があります。検証を実行すると、ブラウザー標準の解析器が返したメッセージと、位置が分かる場合は最初のエラーの行と列を表示します。
検証の動作
不正な入力が自動的に修正されたり、途中まで整形されたりすることはありません。正しいJSONであれば内容を保ったまま出力し直し、そうでなければ理由を表示します。
キーの再帰的な並べ替え
「オブジェクトのキーを再帰的に並べ替える」を有効にすると、あらゆる階層のオブジェクトのキーがUnicodeのコード単位順に並びます。差分が安定するため、環境をまたいだ比較がしやすくなります。配列の順序はデータそのものなので、並べ替えの対象にはなりません。JavaScriptの仕様上、"2"のような整数として解釈できるキーは、他のキーより先に昇順で出力されます。
数値の精度
JSONの数値は、ブラウザーと同じく64ビットの浮動小数点数として解析されます。±9,007,199,254,740,991(Number.MAX_SAFE_INTEGER)を超える整数は精度が失われることがあり、たとえば9007199254740993は9007199254740992として出力し直されます。このツールは任意精度の数値には対応していないため、桁を正確に保つ必要があるIDは文字列として扱ってください。
入力の扱い
整形、圧縮、検証、並べ替え、バイト数の計算、コピー、.jsonのダウンロードは、すべてブラウザー内のローカルな処理です。入力した内容がアップロードされたり、記録されたり、保存されたりすることはありません。結果はプレーンテキストとして表示され、実行されることはありません。サイト全体の方針はプライバシーポリシー(英語)を参照してください。