[英]express body-parser bigInteger
我創建了一個基於 node/express 的 api。 我正在使用 body-parser 來解析我的請求。
我的問題是我在請求正文中得到了一個很大的 integer:
759982437118771 23
解析我的 integer 后變成:
759982437118771 20
我怎樣才能 go 解決這個問題?
將 bigInt 作為字符串發送這實際上是 JSON.parse 的問題它不支持大 int 解析所以這就是最后一位被刪除的原因
嘗試將您的大整數作為字符串發送
data = "75998243711877123"
我有同樣的問題。
有解決方案,對我有用
需要額外安裝https://www.npmjs.com/package/json-bigint
代碼:
let bodyParser = require("body-parser");
const JSONbigString = require("json-bigint")({ storeAsString: true });
app.use(
bodyParser.json({
limit: "10mb",
extended: true,
verify: (req, res, buf, encoding) => {
if (
req.url.search("/public/api/users") >=
0
) {
try {
req.rawBody = JSONbigString.parse(buf.toString());
} catch (e) {
try {
req.rawBody = JSON.parse(buf.toString());
} catch (e) {
req.rawBody = JSON.parse("{}");
}
}
}
},
})
);
app.post(
"/public/api/users",
async (req, res) => {
let data = req.rawBody;
res.json(data);
return;
}
)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.