我有以下一段JSON:
\/Date(1293034567877)\/
.NET代码的结果:
var obj = DateTime.Now; var serializer = new System.Web.Script.Serialization.JavaScriptSerializer(); serializer.Serialize(obj).Dump();
现在,我面临的问题是如何在JavaScript中创建一个Date对象。我所能找到的就是令人难以置信的正则表达式解决方案(许多包含错误)。
很难相信没有优雅的解决方案,因为这都是JavaScrip中的全部,我的意思是JavaScript代码试图读取应该被认为是JavaScript代码的JSON(JavaScript对象表示法),但现在看来,这并不是因为JavaScript无法在这里做好。
我还看到了一些我无法使用的评估解决方案(除了被指出为安全威胁之外)。
真的没有办法优雅地做到这一点吗?
没有日期的标准JSON表示形式。您应该执行@jAndy建议的操作,而不要完全序列化a DateTime;只需发送RFC 1123日期字符串ToString("r")或距Unix纪元的秒数,或可以在JavaScript中使用的其他内容即可构造一个Date。
DateTime
ToString("r")
Date