为什么我的玩家 ID 或物品 ID 包含较大数字时会显示为字符串而不是数字?
| 超过 15 位的值会被解析为 BigInt,并在 API 响应中序列化为字符串。这是设计如此,无法更改。 |
规则
- 少于 15 位 → 解析为标准 Number,以数字形式返回
- 超过 15 位 → 解析为 BigInt,以字符串形式返回
为什么无法更改
出于向后兼容的考虑,此行为是永久性的。多个发行商已经依赖将 15 位以上的值作为字符串接收。更改序列化方式会破坏他们现有的集成。
应采取的措施
更新您的奖励回调以及其他接收代码,以便将这些较大的 ID 字段处理为字符串或数字。在接收时,将其解析为您的内部整数类型(例如 int64、BigInt)。如果值超过 15 位,请不要假设它们会以 JSON 数字的形式到达。
资源