Technical Guide7 min

ブラウザ内 JSON パースにおける 64 ビット整数(BigInt)の精度損失対策

JavaScript の数値型は IEEE 754 倍精度浮動小数点数(仮数部 53 ビット)を採用しています。9,007,199,254,740,991(2^53 - 1)を超える 64 ビット整数は、JSON.parse() によって警告なく丸められます。

ブラウザ内ツールが利用可能です外部サーバーへデータを送信することなく、すべての処理をブラウザ上で安全に検証できます。
ツールを起動 →

1. Snowflake ID や DB 主キーの欠損リスク

Twitter や Discord の Snowflake ID、データベースの BIGINT 型は最大 64bit に達します。

「9007199254740993」を通常の JSON.parse で読み込むと「9007199254740992」に改変され、データの参照不一致を引き起こします。

Summary & Best Practices

大整数を含む JSON データは、BigInt 型または文字列として処理することで完全なデータ一貫性を担保できます。

← ガイド一覧に戻るjson-formatter ツールを試す →