" JSON.parse"解析时间戳不正确。
strObj='{"Timestamp":635450757182431418}';
console.log ('String object:' + strObj ); // Timestamp":635450757182431418
var parseObj= JSON.parse (strObj);
console.log (parseObj); // Timestamp: 635450757182431400
http://jsfiddle.net/kwakwak/rqb6gf4z/
解析前的:635450757182431418, 解析后:635450757182431400
有什么问题? 谢谢!
答案 0 :(得分:0)
635450757182431418
对于JavaScript格式编号来说太大了,这是IEEE754 double precision,这意味着整数部分大约有53位。
此数字不能完全表示为JavaScript编号,您应该使用不同的格式(字符串,数字数组,自定义)。
如果您想将时间戳作为字符串,您可以这样做:
var strTimestamp = strObj.match(/"Timestamp"\s*:\s*(\d+)/)[1];
答案 1 :(得分:0)
当您有一个字符串635450757182431418
时,会存储一个值,但作为一个数字,它会四舍五入为635450757182431400
。
只需在Chrome控制台中输入
即可635450757182431418
您将获得635450757182431400
的结果,因为数字在JS中不支持大于635450757182431400
。