使用镀铬金丝雀测试
我可以将日期转换为JSON:
> (new Date()).toJSON()
"2012-05-03T22:27:30.530Z"
Run Code Online (Sandbox Code Playgroud)
我可以将它转换回日期:
> typeof (new Date("2012-05-03T22:27:30.530Z"))
object
Run Code Online (Sandbox Code Playgroud)
为什么我不能使用JSON.parse()将其解析为Date?JSON.parse返回一个字符串,而不是Date:
> JSON.parse('{"DateValue":"2012-05-03T22:27:30.530Z"}').DateValue
"2012-05-03T22:27:30.530Z"
Run Code Online (Sandbox Code Playgroud)
因为Date不是JSON中的有效类型.JSON只知道字符串,数字,布尔值,数组和通用对象(关联数组/散列/地图/字典/挑选你喜欢的名字).当你将其他任何内容转换为JSON时,你会得到上面的一个 - 这意味着如果你想要将"其他东西"作为它开始的类型退出,接收者必须做一些额外的工作来重新创建它.
有一些JSON库可以抽象出来,并且包含一个额外的属性来指示什么类是什么,所以如果接收器使用相同的库,他们将返回该类型,但这仍然是相同的工作,只是被库隐藏.
| 归档时间: |
|
| 查看次数: |
1350 次 |
| 最近记录: |