我在使用JSON Web Services的HTML5/JavaScript中構建了Windows 8 Metro應用程序(又名「Modern UI Style」或「Windows Store應用程序」),並且遇到以下問題:,其格式應爲我的JSON Web Services序列化Windows 8 Metro的日期JSON.parse反序列化日期類型中的那些日期的方法?如何使用Windows 8將JSON文本反序列化爲日期類型JSON.parse?
我嘗試:
- 發送使用ISO-8601 format,(JSON.parse返回字符串),
- 發送日期的日期,如 「/日期(1198908717056)/」 作爲explained here(相同的結果) 。
我開始懷疑Windows 8的JSON.parse方法是否支持日期,因爲即使在解析其自己的JSON.stringify方法的輸出時也不會返回日期類型。
例子:
var d = new Date(); // => a new date
var str = JSON.stringify(d); // str is a string => "\"2012-07-10T14:44:00.000Z\""
var date2 = JSON.parse(str); // date2 is a string => "2012-07-10T14:44:00.000Z"
「Date」不是支持的JSON類型。您需要從字符串中創建一個Date對象。 –
Date的原型有'toJSON'方法。在具有'toJSON'方法的對象上調用'JSON.parse'會導致處理該'toJSON'調用的結果而不是對象本身。在Date對象的情況下,toJSON返回一個字符串(具體來說就是'toISOString'的結果)。 – apsillers