Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript JSON.parse错误的时间戳_Javascript_Json_Parsing_Timestamp - Fatal编程技术网

javascript 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

“JSON.parse”解析时间戳不正确

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上解决这个问题—更改源代码是不可能的,如何将其解析为字符串而不是整数?