来自Jquery.ajax的JSON响应会舍入较大的数字,因此我无法获得正确的值

用户名

我正在执行AJAX获取请求,这是我在Paw / Postman之类的程序中得到的响应:

[
  {
    "registrantKey": 4131401026087862797,
  }
]

但是当我这样做时:

.done(function(data, textStatus, jqXHR) {
    $.each(data, function(index){
    console.log(data[index].registrantKey);
    });
})

它会将这个注册人键值视为一个大数字,并四舍五入最后一个数字,因此要打印到控制台的值是:4131401026087863000。如何获得原始值,如Paw / Postman中所示。我不需要对其执行任何数学运算,我只需要该值即可。我尝试使用toString()方法进行实验,但无法正常工作。您的帮助将不胜感激。

更新不幸的是,这在javascript中是不可能的。唯一的解决方案是使用另一种语言,或者尝试让原始开发人员将值作为字符串返回。感谢Rory和Madalin。

Fefux

如果您可以将json作为字符串而不是作为对象(可能在jqXHR对象中)访问,则可以将所有数字转换为字符串,如下所示:

jsonText = jsonText.replace(/([^\D]\d+[^\D])/g, "\"$1\"").replace(/""/g, "\"");

(请注意我的正则表达式,我不确定在任何情况下是否都可以使用)

然后将您的jsonText加载为对象。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章