Temporal.ZonedDateTime.prototype.toJSON()
Temporal.ZonedDateTime 例項的 toJSON() 方法返回一個字串,該字串表示此日期時間,其格式與呼叫 toString() 方法時使用的 RFC 9557 格式相同。它旨在由 JSON.stringify() 隱式呼叫。
語法
js
toJSON()
引數
無。
返回值
一個字串,表示給定日期時間,採用 RFC 9557 格式,如果日曆不是 "iso8601",則包含日曆註釋;偏移量和時區註釋始終包含。
描述
當 Temporal.ZonedDateTime 物件被轉換為字串時,toJSON() 方法會被 JSON.stringify() 自動呼叫。此方法通常旨在預設情況下,在 JSON 序列化過程中有效地序列化 Temporal.ZonedDateTime 物件,然後可以使用 Temporal.ZonedDateTime.from() 函式作為 JSON.parse() 的復原器進行反序列化。
示例
使用 toJSON()
js
const zdt = Temporal.ZonedDateTime.from({
year: 2021,
month: 8,
day: 1,
timeZone: "America/New_York",
});
const zdtStr = zdt.toJSON(); // '2021-08-01T00:00:00-04:00[America/New_York]'
const zdt2 = Temporal.ZonedDateTime.from(zdtStr);
JSON 序列化和解析
此示例展示了 Temporal.ZonedDateTime 如何在不額外費力的情況下序列化為 JSON,以及如何將其解析回來。
js
const zdt = Temporal.ZonedDateTime.from({
year: 2021,
month: 8,
day: 1,
timeZone: "America/New_York",
});
const jsonStr = JSON.stringify({ meeting: zdt }); // '{"meeting":"2021-08-01T00:00:00-04:00[America/New_York]"}'
const obj = JSON.parse(jsonStr, (key, value) => {
if (key === "meeting") {
return Temporal.ZonedDateTime.from(value);
}
return value;
});
規範
| 規範 |
|---|
| Temporal # sec-temporal.zoneddatetime.prototype.tojson |
瀏覽器相容性
載入中…