JSONの大きな整数が変わる理由

注文IDは正しいJSONでも、JavaScriptのNumberに変換されると値が変わることがあります。整形と計算は別の作業です。例では安全な最大整数を1だけ超える9007199254740993を使います。

入力と結果

JSON{"id":9007199254740993}
JSON.parse(...).id9007199254740992
Apps24{ "id": 9007199254740993 }

結果の読み方

JSON.parseでは9007199254740992になります。Apps24は構文を確認し、元のトークン間の空白だけを整えるので桁を保持します。これは原文の保持であり、すべての受信側で正確に扱えるという意味ではありません。構文検証はAPIのスキーマ、必須項目、重複キーを検査しません。

次の作業

例を貼り付け、整形前後のIDを比べてください。金額ではなく識別子なら、APIの管理者と{"id":"9007199254740993"}のような文字列形式を相談してください。すべての数値を引用符で囲むと型が変わります。受信側とデータベースの型も確認してください。

ツールを使う

制限とテスト条件

回帰テストで桁、重複キー、指数表記、文字列内の空白を確認しています。不正なJSONの修復や任意精度計算は行いません。本番の秘密鍵やトークンは入力しないでください。

参考資料

Apps24は例を実装と回帰テストで確認します。ブラウザ実験は条件を明示し、すべての端末を保証するものではありません。不具合はURL、入力例、期待する結果、ブラウザを添えてお知らせください。パスワード、非公開文書、個人情報は送らないでください。