javascript JSON.parse错误的时间戳
“JSON.parse”解析时间戳不正确javascript JSON.parse错误的时间戳,javascript,json,parsing,timestamp,Javascript,Json,Parsing,Timestamp,“JSON.parse”解析时间戳不正确 strObj='{"Timestamp":635450757182431418}'; console.log ('String object:' + strObj ); // Timestamp":635450757182431418 var parseObj= JSON.parse (strObj); console.log (parseObj); // Timestamp: 635450757182431400 解析前:63545075718
strObj='{"Timestamp":635450757182431418}';
console.log ('String object:' + strObj ); // Timestamp":635450757182431418
var parseObj= JSON.parse (strObj);
console.log (parseObj); // Timestamp: 635450757182431400
解析前:635450757182431418,
解析后:635450757182431400
有什么问题?
谢谢
635450757182431418
对于JavaScript格式数字来说太大,这意味着整数部分大约有53位
这个数字不能准确地表示为JavaScript数字,您应该使用不同的格式(字符串、数字数组、自定义)
如果希望以字符串形式获取时间戳,可以执行以下操作:
var strTimestamp = strObj.match(/"Timestamp"\s*:\s*(\d+)/)[1];
当您有一个字符串时,
635450757182431418
值被存储,但作为一个数字,它被四舍五入为635450757182431400
只需在chrome控制台中键入此项
635450757182431418
您将得到的结果是
635450757182431400
,因为这个数字在JS中不支持大于635450757182431400
。这个字符串来自哪里?您应该在sourceAjax上解决这个问题—更改源代码是不可能的,如何将其解析为字符串而不是整数?