Node.js使用json和bigint属性来restapi

我对node.js非常陌生,而且我在一个restAPI中工作,在这个API中,我有一个令人讨厌的问题,就是我无法把头包裹起来。

这是问题:api通过POST接收一个json对象。 在这个json对象中有一些属性是bigint。 让我给你一个这些对象的例子:

{ "items": [ { "appid": 730, "classid": "2222", "id": 99, "instanceid": "instanceID", "market_name": "Market name" }, { "appid": 730, "classid": "2222", "id": 99, "instanceid": "instanceID", "market_name": "Market name" } ], "message": "Mensagem de teste", "user": 76561197960275584 } 

在服务器端,用户属性返回76561197960275580 。 这是一个JS四舍五入的问题,我试图用许多软件包(bignumber.js,json-bigint等)总共解决了5个解决scheme,但都没有为我工作。 我只是不能使用它们,因为当json对象命中服务器时,它的int属性已经被舍入了。 让我在这里放一块我的节点代码。

 var express = require('express'); var bodyParser = require('body-parser'); var api = express(); api.use(bodyParser.urlencoded({ extended: false })); api.use(bodyParser.json()); api.post('/import', function importEndPoint(req, res) { console.log('req.body.user=' + req.body.user); }); 

当我console.log(req.body)的值已经四舍五入。

正如我所说,我已经尝试了许多库来解决。 我已经阅读了很多像我这样的问题的答案,但它仍然无法正常工作。 我敢肯定,这是一个新手,我失踪,但我不知道它是什么。

你能帮我吗? 该API使用快递4,我不能改变JSON对象发送这些值与string。

在此先感谢您的帮助。

最简单的解决scheme,使这个字段string然后parsing它自己,否则你必须破解身体分析器,并改变转换这个领域的方式。