注意:js中的数值Number没人是int,4个字节,16位,最大只能存16位,超16位后面的数据可能会被转化为0
var Num = 1234567891011121314
js会被转化为 1234567891011121000
解决方法:
json-bigint是一个第三方包,它在把json字符串转json对象的过程中,自动识别大整数,把大整数转成一个对象来表示,这样就不会产生精度丢失的问题了。
1、安装
npm i json-bigint
2、引入
import JSONbig from 'json-bigint'
3、在接口处处理
transformResponse: [function (data) {
try {
return JSONBig.parse(data)
} catch (err) {
return data
}
// axios 默认会在内部这样来处理后端返回的数据
// return JSON.parse(data)
}]
})