JSON.parse( ) 上的数值变化
Number value changes on JSON.parse( )
我正在使用 Node/Express 向 the unofficial Vine API 发出 API 请求。
GET https://api.vineapp.com/users/search/
路由returns解析时改变的数据。
我的代码如下:
request({ url: 'https://api.vineapp.com/users/search/' + username }, function (error, response, body) {
if (error) throw new Error(error);
console.log(typeof body,'UNPARSED BODY:', body);
body = JSON.parse(body);
console.log(typeof body,'PARSED BODY:', JSON.stringify(body, null, 2));
cb(null, body)
});
这就是 returns:
解析时 data.records.userId 发生变化。
为什么会这样?我在这里错过了什么吗?他们为什么要那样做?
这个数字对于 JSON 解析器来说太高了
关于 javascript 中可能的最高值的信息:
What is JavaScript's highest integer value that a Number can go to without losing precision?
这里提供了一个解决方案:
node.js is there any proper way to parse JSON with large numbers? (long, bigint, int64)
我正在使用 Node/Express 向 the unofficial Vine API 发出 API 请求。
GET https://api.vineapp.com/users/search/
路由returns解析时改变的数据。
我的代码如下:
request({ url: 'https://api.vineapp.com/users/search/' + username }, function (error, response, body) {
if (error) throw new Error(error);
console.log(typeof body,'UNPARSED BODY:', body);
body = JSON.parse(body);
console.log(typeof body,'PARSED BODY:', JSON.stringify(body, null, 2));
cb(null, body)
});
这就是 returns:
为什么会这样?我在这里错过了什么吗?他们为什么要那样做?
这个数字对于 JSON 解析器来说太高了
关于 javascript 中可能的最高值的信息:
What is JavaScript's highest integer value that a Number can go to without losing precision?
这里提供了一个解决方案:
node.js is there any proper way to parse JSON with large numbers? (long, bigint, int64)