在接入各种sdk的过程中,有些sdk返回的账号id是大数字,在nodejs中直接解析会变成科学计数,
{"data":{"extension":"11","sign":"db1c15a960d70575194565b7e3874bf0","userID":13152081,"orderID":2116389437700046848,"gameID":4,"channelID":1957,"signType":"md5","money":600,"serverID":"3002","productID":"wzjyjy.anhei.fc6","currency":"RMB"},"state":1}
获取到的 orderID 变成了 2116389437700046800,刚开始使用
想转成string类型,结果并不生效,用 JSON.stringify 也不好使,最后通过如下方式可以转为string:
var rawdata = decodeURIComponent(request_data);
rawdata = rawdata.replace(/:(\d+)/g, `:"$1"`)
var params_zsy = JSON.parse(rawdata);
console.log("/zsy_pay params = ", params_zsy);
此时就可以获取正确的数值了。