JSON解析日期格式?

时间:2010-06-17 17:34:28

标签: javascript json date

我是否正确假设我必须在我的客户端代码中手动将Json编码的日期字符串转换为日期对象?

来自C#,我理所当然地认为这是自动发生的,但我想那是.NET。

是否有内置机制从Json字符串中获取本机javascript类型(对于日期,整数等)?

感谢。

5 个答案:

答案 0 :(得分:5)

JSON规范未定义日期数据类型。这取决于你。

参见A.8节:http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-262.pdf

答案 1 :(得分:1)

JSON没有标准日期类型。有各种库(包括.NET)具有不兼容的扩展名来表示它。

答案 2 :(得分:1)

请参阅Stand-Alone JSON Serialization on msdn,其中提供了有关MS实施的文档

答案 3 :(得分:1)

自动将ISO和Asp.net日期字符串日期字符串转换为日期

如果您使用任何客户端库(如jQuery),您可以使用我的jQuery扩展,使用$.parseJSON()自动将ISO日期和Asp.net日期转换为实际日期。

检查my blog post代码。

答案 4 :(得分:0)

JSON.parse()支持replacer param。

JSON.stringify(value[, replacer[, space]])

请参阅details on 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);