Temporal.Duration.prototype.toJSON()

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Experimentell: Dies ist eine experimentelle Technologie
Überprüfen Sie die Browser-Kompatibilitätstabelle sorgfältig vor der Verwendung auf produktiven Webseiten.

Die toJSON() Methode der Instanzen von Temporal.Duration gibt einen String zurück, der diese Dauer im gleichen ISO 8601-Format darstellt wie der Aufruf von toString(). Sie soll implizit durch JSON.stringify() aufgerufen werden.

Syntax

js
toJSON()

Parameter

Keine.

Rückgabewert

Ein String, der die gegebene Dauer im ISO 8601-Format darstellt, mit so viel subsekundärer Präzision wie nötig, um die Dauer genau darzustellen.

Beschreibung

Die toJSON()-Methode wird automatisch durch JSON.stringify() aufgerufen, wenn ein Temporal.Duration-Objekt in einen String umgewandelt wird. Diese Methode soll im Allgemeinen standardmäßig nützlich sein, um Temporal.Duration-Objekte während der JSON-Serialisierung zu serialisieren, die dann unter Verwendung der Funktion Temporal.Duration.from() beim Deserialisieren durch JSON.parse() wiederbelebt werden können.

Beispiele

Verwendung von 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-Serialisierung und -Parsing

Dieses Beispiel zeigt, wie Temporal.Duration ohne zusätzlichen Aufwand als JSON serialisiert und wie es zurückgeparst werden kann.

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

Spezifikationen

Specification
Temporal
# sec-temporal.duration.prototype.tojson

Browser-Kompatibilität

Siehe auch