Javascript 字符串到JSON解析问题及数字转换
大家好,我正在使用JavaScript将字符串转换为Json对象,下面是我的代码Javascript 字符串到JSON解析问题及数字转换,javascript,json,axios,fetch,Javascript,Json,Axios,Fetch,大家好,我正在使用JavaScript将字符串转换为Json对象,下面是我的代码 const json='{“result”:true,“count”:42,“groupID”:800000000000809}'; const obj=JSON.parse(JSON); 控制台日志(obj)您试图分析的整数太大。JavaScript最多只支持53位整数,因此JavaScript中的Number类型的最大值为+/-9007199254740991。再大一点,您需要使用BigInt。了解如何在Ja
const json='{“result”:true,“count”:42,“groupID”:800000000000809}';
const obj=JSON.parse(JSON);
控制台日志(obj)代码>您试图分析的整数太大。JavaScript最多只支持53位整数,因此JavaScript中的Number
类型的最大值为+/-9007199254740991。再大一点,您需要使用BigInt
。了解如何在JavaScript中使用大整数
我建议将API响应中的groupID
更改为string
而不是integer
如果您不能做到这一点,那么您还可以尝试使用JSON解析库来处理BigInt
类型,例如..您可以始终检查Number.MAX\u SAFE\u INTEGER()
。让我们将此结果与您正在使用的数字进行比较:
9007199254740991
800000000000826
您的数字似乎超过了JavaScript支持的整数技术上限。我测试了其他一些数字,它们似乎也有类似的问题。文档
MAX_SAFE_INTEGER常量表示JavaScript中的最大安全整数(253-1)
对于较大的整数,考虑使用BigIt。(来源:
不过,您始终可以使用字符串,因为您可能实际上是从web服务器而不是本地定义的服务器获取此JSON:
const json='{“result”:true,“count”:42,“groupID”:“800000000000809”};
const obj=JSON.parse(JSON);
console.log(obj);
这是否回答了您的问题?