首页 > 解决方案 > 有没有办法解析 JSON,所以我不会失去数值精度?

问题描述

我目前正在使用 Google Apps Script 的内置 JSON 解析器并遇到大量问题(例如 692996696181207 8593),其中解析器会降低精度(例如 692996696181207 9000)。是否有其他解析器可用于保持精度?还是最好重新编写解析器来完成此任务?

标签: google-apps-script

解决方案


这是 JavaScript 的限制,因为它使用浮点数。所以你可以拥有的最大整数是Number.MAX_SAFE_INTEGER2 53 - 1 或 9007199254740991。如果数字更大,你将开始失去精度(阅读更多)。要获得比这更大的整数,您有BigInt请参阅参考资料)。JSON.parse使用常规数字,因此您必须使用能够解析 JSON 的库之一BigInt(或自己实现它,但我建议不要这样做)。

参考


推荐阅读