在写一个JSON预览小工具时发现JSON.parse遇到超长数字时会导致精度丢失,超出了安全范围之后的数会被替换为0,比如1275957393877729571在JSON.parse之后会被变成1275957393877729000。其实解决方法很简单,只需要引入json-bigint库进行parse即可。
step1.引入json-bigint。
npm install json-bigint
step2.使用json-big进行parse。
// 引入json-bigint
const JsonBig = require('json-bigint')({"storeAsString": true});
const jsonString = '{"name":1290257393877729571}';
// 调用parse进行转换
let convertObj=JsonBig.parse(jsonString);
console.log(convertObj);
完成如上操作,超出安全范围的数字即可被转换为字符串正常显示了。