GitHub地址:
https://github.com/sidorares/json-bigint
1、安裝:npm install json-bigint
2、使用
測試環境(使用axios與后台進行交互)
基本原理---是接收到后台傳遞的數據后在解析數據的時候使用 json-bigint 代替json去解析
import JSONbig from 'json-bigint' export function axiosPro(method, url, data ) { return new Promise(function (resolve, reject) { axios({ method: method, url: url, data: data, // `transformResponse` 在傳遞給 then/catch 前,允許修改響應數據 transformResponse:[function(data){ console.log("raw",data) console.log("json",JSON.parse(data)) console.log("JSONbig",JSONbig.parse(data)) return JSONbig.parse(data) // return data }] }).then(function (ret) { resolve(ret) }).catch(function (err) { reject(err) // errorHandler(err) }) }) }
打印輸出
從打印中可以看出,如果用 json去解析的話,超過53位的整形會出現精度丟失的問題,而json-bigint會將其轉化為一個BigNumber對象,如果想要查看內容是否,可以通過toString方法轉成字符串去查看。
