我有一个http响应,它包含response.data,有很多长整数。当我尝试通过以下方式使用数据创建 blob 资源时:

var blob = new Blob([ response.data ], { 
   type : response.headers('Content-Type') 
}); 

数据被解析,数字被视为整数,由于 JavaScript 处理数字的方式,最后 4 位数字被剪切(被 0 替换)。当我在数字中添加一个字母时,例如“823758273883758237857823758x”它被视为字符串并正确处理。

如何强制 JS 将数字视为字符串而不是整数而不添加任何不必要的字母?

编辑:示例response.data内容:

"sep="x","时间","ID","名称","1234512345123451234""

请您参考如下方法:

// number 
a = '823758273883758237857823758'; 
console.log(a, JSON.parse(a)); 
 
// string 
b = '"823758273883758237857823758"'; 
console.log(b, JSON.parse(b)); 
 
// error 
c = '823758273883758237857823758x'; 
console.log(c, JSON.parse(c));

数字不是字符串。数字值(不带引号)将被解析为 JavaScript 数字。字符串值(带引号)将被解析为字符串。字符串不需要随机字符来保持它作为字符串;但是带有随机字符的数字不会将其变成字符串,而是会触发解析错误。

如果这不满意,请显示更多详细信息,包括 response.data 的内容和/或生成它的代码。


评论关闭
IT虾米网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!