我有一个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
的内容和/或生成它的代码。