我是否正确地假设我需要在客户端代码中手动将Json编码的日期字符串转换为日期对象?
从C#来看,我认为这是自动完成的,但我想这只是.NET的特性。
是否有一种内置机制可以从Json字符串(用于日期,整数等)中获取本机JavaScript类型?
谢谢。
我是否正确地假设我需要在客户端代码中手动将Json编码的日期字符串转换为日期对象?
从C#来看,我认为这是自动完成的,但我想这只是.NET的特性。
是否有一种内置机制可以从Json字符串(用于日期,整数等)中获取本机JavaScript类型?
谢谢。
JSON规范没有定义日期数据类型,这取决于你。
参见A.8节:http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-262.pdf
如果您使用任何客户端库如 jQuery,您可以使用我的 jQuery 扩展,它使得通过 $.parseJSON()
自动将 ISO 日期和 Asp.net 日期转换为实际日期成为可能。
请查看 我的博客文章 获取代码。
JSON.stringify(value[, replacer[, space]])
请参阅 MDN 上的详细信息
这样你就可以在 JSON 中轻松处理日期类型了。
function replacer(key, value) {
return key == "date1" || key == "date2" ? new Date(value) : value;
}
var obj = {
date1:"5/21/2012 4:49:17 PM",
date2:new Date()
}
var jsonString = JSON.stringify(obj);
console.log(jsonString);
var jsonObj = JSON.parse(jsonString, replacer);
console.log(jsonObj);