为什么这个JSON会给我解析错误?我可以发誓我已经做过这一百次而没有问题。
[[0,0,0,new Date(1364068990245)],[0,0,0,new Date(1364068940075)]]
答案 0 :(得分:4)
如果是文字JavaScript,就像这样:
var myArray = [[0,0,0.......]];
然后它应该没问题,你的错误必须来自其他地方。
如果它是一个你被视为JSON的字符串,如下所示:
var myArray = JSON.parse("[[0,0,0.........]]");
然后你不能拥有new Date
(或者实际上任何函数调用),它应该只是一个数字,然后你可以解析成一个日期。
答案 1 :(得分:1)
因为new
运算符不是JSON的一部分。您的示例是JavaScript文件的有效片段,但在解析为JSON时它会正确导致错误。日期应序列化为字符串(理想情况下,作为ISO-8601字符串,Date
构造函数将接受,但我认为数字也是可以容忍的。)
答案 2 :(得分:1)
这不是JSON,JSON格式中没有日期。
一些JSON解析器使用这种表示日期的方式扩展了标准:
"[[0,0,0,/Date(1364068990245)/],[0,0,0,/Date(1364068940075)/]]"
如果您使用的解析器不支持,则必须将它们作为不同的数据类型(例如数字)传输,然后在解析JSON后将它们转换为日期:
"[[0,0,0,1364068990245],[0,0,0,1364068940075]]"