Documentación offline JavaScript main

Temporal.Duration.prototype.toJSON()

main Documentación oficial Licencia CC-BY-SA-2.5Descargado el 2026-08-02

En esta página

The toJSON() method of {{jsxref("Temporal.Duration")}} instances returns a string representing this duration in the same ISO 8601 format as calling {{jsxref("Temporal/Duration/toString", "toString()")}}. It is intended to be implicitly called by {{jsxref("JSON.stringify()")}}.

Syntax#

toJSON()

Parameters#

None.

Return value#

A string representing the given duration in the ISO 8601 format, with as much subsecond precision as necessary to represent the duration accurately.

Description#

The toJSON() method is automatically called by {{jsxref("JSON.stringify()")}} when a Temporal.Duration object is stringified. This method is generally intended to, by default, usefully serialize Temporal.Duration objects during JSON serialization, which can then be deserialized using the {{jsxref("Temporal/Duration/from", "Temporal.Duration.from()")}} function as the reviver of {{jsxref("JSON.parse()")}}.

Examples#

Using toJSON()#

const duration = Temporal.Duration.from({ hours: 1, minutes: 30, seconds: 15 });
const durationStr = duration.toJSON(); // 'PT1H30M15S'
const d2 = Temporal.Duration.from(durationStr);

JSON serialization and parsing#

This example shows how Temporal.Duration can be serialized as JSON without extra effort, and how to parse it back.

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;
});

Specifications#

{{Specifications}}

Browser compatibility#

{{Compat}}

See also#

  • {{jsxref("Temporal.Duration")}}
  • {{jsxref("Temporal/Duration/from", "Temporal.Duration.from()")}}
  • {{jsxref("Temporal/Duration/toString", "Temporal.Duration.prototype.toString()")}}
  • {{jsxref("Temporal/Duration/toLocaleString", "Temporal.Duration.prototype.toLocaleString()")}}