And*_*y E 19
提出日期文字然后撤回,也许我们会在ECMA-262规范的未来版本中看到它们.
由于JavaScript中没有Date文字,因此JSON也没有文字(如果JavaScript引擎无法解析,则JavaScript Object Notation名称不会太好;-)).不可否认,这是不幸的.许多Web服务将输出ISO 8601字符串,例如2010-03-23T23:57Z,但是为了在JavaScript中解析它,您需要使用自定义库,创建自定义函数或依赖于ECMAScript 5th的Date解析规范,该规范声明实现应该解析ISO 8601本地字符串.
如果它是你自己的JSON将在JavaScript中解析,你可以使用一些简单的东西,如自1970年1月1日00:00以来的毫秒,带有一个标识符,然后将一个reviver函数传递给JSON.parse:
var myJSON = '{"MyDate":"@1269388885866@"}'
var myObj = JSON.parse(myJSON, function (key, value)
{
// Edit: don't forget to check the type == string!
if (typeof value == "string" && value.slice(0, 1) == "@" && value.slice(-1) == "@")
return new Date(+value.substring(1, -1));
else
return value;
}
Run Code Online (Sandbox Code Playgroud)
显然,您需要使用现代浏览器或json2.js中的本机JSON对象在解析时使用reviver.
取决于序列化器。
它可能是以下之一:
/日期(1224043200000)/
/日期(1198908717056)/(MS JSON 日期)
/日期(1198908717056-1000)/(+/- 时区)
new Date("2010-03-24") (据我了解,这是普遍接受的“javascript json”)
"2010-03-24"
ETC
| 归档时间: |
|
| 查看次数: |
8256 次 |
| 最近记录: |