Temporal.Duration.prototype.toJSON()
Базовая Ограниченная доступность
Эта функция не является базовой, поскольку она не работает в некоторых из наиболее широко используемых браузеров.
Метод toJSON() экземпляров Temporal.Duration возвращает строку, представляющую эту продолжительность в том же формате ISO 8601, что и вызов toString(). Предполагается, что он будет неявно вызван с помощью JSON.stringify().
Синтаксис
toJSON()
Параметры
Нет.
Возвращаемое значение
Строка, представляющая заданную продолжительность в формате ISO 8601, с такой субсекундной точностью, которая необходима для точного представления продолжительности.
Описание
Метод toJSON() автоматически вызывается функцией JSON.stringify() при преобразовании объекта Temporal.Duration в строку. Этот метод, как правило, предназначен для того, чтобы по умолчанию полезно сериализовать объекты Temporal.Duration во время JSON-сериализации, которые затем можно десериализовать, используя функцию Temporal.Duration.from() в качестве обработчика reviver функции JSON.parse().
Примеры
Использование toJSON()
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 без дополнительных усилий, и как выполнить обратный парсинг.
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 |
Совместимость с браузерами
| Десктопные | Мобильные | Серверные | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari on iOS | Samsung Internet | WebView Android | WebView on iOS | Bun | Deno | Node.js | |
toJSON |
144 |
144 |
139 |
128 |
preview |
144 |
139 |
95 |
No |
No |
144 |
No |
1.4.0 |
2.7 |
26.0.0 |
Смотрите также
Temporal.DurationTemporal.Duration.from()Temporal.Duration.prototype.toString()Temporal.Duration.prototype.toLocaleString()
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Temporal/Duration/toJSON