Spec-Zone.ru › JavaScript

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.Duration
  • Temporal.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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API