ブラウザーのタブで表示するときに JSON を自動フォーマットする Chrome 拡張機能。
json
としてエクスポートされるため、コンソールで検査できます*マニフェスト v3 以降、コンソールでの
json
の入力は機能しません。回避策が必要な場合は、次のスニペットをコンソールに貼り付けます。json = JSON . parse ( document . getElementById ( "jsonFormatterRaw" ) . querySelector ( "pre" ) . innerText )
テスト用の JSON ドキュメント: https://callumlocke.github.io/json-formatter/
オプション 1 (推奨) – Chrome ウェブストアからインストールします。
オプション 2 – ソースからインストールします (下記を参照)。
要件: Deno (および今のところ Node)。
初期設定:
pnpm i
実行して、Chrome の TypeScript タイピングを取得します (または、必要に応じてnpm i
を使用します)"deno.enablePaths": ["tasks"]
を設定します。構築するには:
deno task build
を実行するファイルが変更されるたびにビルドおよびリビルドするには:
deno task dev
を実行するローカル ビルドを Chrome にインストールするには
chrome://extensions
に移動します。dist
フォルダーを選択します。 これは JavaScript の制限であり、したがって Web ブラウザによって解釈される JSON の制限でもあります。
Number.MAX_SAFE_INTEGER
( 2^53 - 1
または9007199254740991
) を超える値は、その数値まで調整されます。Number.MIN_SAFE_INTEGER
( -2^53 + 1
または-9007199254740991
) 未満の値は、その数値まで調整されます。これを行うのは JSON Formatter ではなく、V8 のネイティブJSON.parse
です。 JSON Formatter は、JavaScript で JSON をロードした後に表示されるものとまったく同じ、解析された値を表示します。
API エンドポイントが JavaScript の安全範囲外の数値を表現する必要がある場合は、それらを string として引用する必要があります。
JSON Formatter に表示されるのは、解析されたオブジェクト/配列の表現です。これは、JavaScript のObject.keys( JSON.parse(json) )
で取得する順序と同じです。
歴史的に、JavaScript 標準では、オブジェクト キーは任意の順序で反復できると明示的に規定されており、V8 ではこれを利用して、数値文字列キー ( "1"
や"99999"
など) を先頭に移動して、小規模なパフォーマンスの最適化を容易にしました。この V8 実装の詳細はその後標準化されました。
現時点では、「Raw」ボタンを使用して生の JSON を表示するのが最善の方法です。これはサーバーが送信したものです。 「解析済み」ボタンは、 JSON.parse
から取得する内容を表します。
将来的には、JSON Formatter は、解析によって値が「変更」されたことを検出し、適切な警告を表示するために、(パフォーマンスが許せば) JSON.parse
の使用からカスタム パーサーに切り替える可能性があります。