我的JSON字符串包含返回这样的值日期字段:如何使用JSON.parse齐磊参数解析日期字符串
"2009-04-04T22:55:16.0000000-04:00"
我在解析只有日期车厢没有时间特别感兴趣。我尝试使用reviver函数,但有趣的是reviver函数从未被调用! (试图在Firefox)
这里是我的代码来实现这一目标:
var Site = {
.....
dateReviver: function(key, value) {
var a;
if (typeof value === 'string') {
a = /^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2}(?:\.\d*)?)Z$/.exec(value);
if (a) {
return new Date(Date.UTC(+a[1], +a[2] - 1, +a[3], +a[4],
+a[5], +a[6]));
}
}
return value;
},
loadArticle: function(id) {
....
proxy.getArticle(id, function(response) {
var data = JSON.parse(response.result, Site.dateReviver);
....
});
}
};
JSON.parse在loadArticle
永远不会调用dateReviver
。
我投入了一整天,但没有运气!有人可以帮我吗?
谢谢奥伦;) 最终我发现问题与你的帮助。我正在使用jayrock自带的json.js文件,它在解析函数中不接受reviver参数。 我所做的是使用eval方法来解析(这是听起来很奇怪的地方)JSON字符串:s 我非常感谢;) – Aleyna 2009-11-26 02:20:27