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 |
浏览器兼容性
加载中…