axios - 如何处理大整数

kur*_*kan 4 javascript bigint axios

这是我的要求:

    axios.get(url)
    .then(res => {
        console.log(res.data)
    })
Run Code Online (Sandbox Code Playgroud)

输出是{ value: 156144277082605255 }

但应该是{ value: 156144277082605250 }

在这种情况下如何处理大整数?我尝试使用json-bigint 但由于我从 axios 获取 response.data 作为对象 - 它没有帮助。

kur*_*kan 8

我的同事回答了这个问题:

我必须将我的response.data 转换为字符串。(你可能想知道 - 为什么这个函数没用 - 只是重新定义默认行为,它使用 JSON.parse 将字符串解析为对象 - 在这里我们跳过这一步)

axios.get(url, { transformResponse: [data  => data] });
Run Code Online (Sandbox Code Playgroud)

然后用 json-bigint 解析

JSONBigInt.parse(res.data);
Run Code Online (Sandbox Code Playgroud)

  • 另外,根据您的问题,您可能需要像这样 require JSONbig : `const JSONbig = require('json-bigint')({'storeAsString': true})` (2认同)