Temporal.Duration.prototype.toJSON()
toJSON() 方法用於 Temporal.Duration 例項,它返回一個字串,表示此持續時間的格式與呼叫 toString() 時使用的 ISO 8601 格式相同。此方法旨在由 JSON.stringify() 隱式呼叫。
語法
js
toJSON()
引數
無。
返回值
一個字串,表示給定持續時間的 ISO 8601 格式,具有表示持續時間所需的儘可能高的亞秒精度。
描述
當 Temporal.Duration 物件被字串化時,JSON.stringify() 會自動呼叫 toJSON() 方法。此方法通常旨在預設情況下在 JSON 序列化過程中有用地序列化 Temporal.Duration 物件,然後可以使用 JSON.parse() 的復原函式 Temporal.Duration.from() 進行反序列化。
示例
使用 toJSON()
js
const duration = Temporal.Duration.from({ hours: 1, minutes: 30, seconds: 15 });
const durationStr = duration.toJSON(); // 'PT1H30M15S'
const d2 = Temporal.Duration.from(durationStr);
JSON 序列化和解析
本示例展示瞭如何無需額外努力即可將 Temporal.Duration 序列化為 JSON,以及如何將其解析回來。
js
const duration = Temporal.Duration.from({ hours: 1, minutes: 30, seconds: 15 });
const jsonStr = JSON.stringify({ data: duration }); // '{"data":"PT1H30M15S"}'
const obj = JSON.parse(jsonStr, (key, value) => {
if (key === "data") {
return Temporal.Duration.from(value);
}
return value;
});
規範
| 規範 |
|---|
| Temporal # sec-temporal.duration.prototype.tojson |
瀏覽器相容性
載入中…