私のJSON文字列には、次のような値を返す日付フィールドが含まれています。
"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.parseinはloadArticle
決して呼び出しませんdateReviver
。
私は一日中投資しましたが、運がありませんでした!誰か助けてくれませんか?