Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

Temporal.Duration.prototype.toJSON()

Eingeschränkt verfügbar

Diese Funktion ist nicht Baseline, da sie in einigen der am weitesten verbreiteten Browser nicht funktioniert.

Want more browser support for this feature? Tell us why.

Die Methode toJSON() von Temporal.Duration-Instanzen gibt einen String zurück, der diese Dauer im selben ISO-8601-Format darstellt wie ein Aufruf von toString(). Sie ist dafür vorgesehen, implizit von JSON.stringify() aufgerufen zu werden.

Syntax

js
toJSON()

Parameter

Keine.

Rückgabewert

Ein String, der die angegebene Dauer im ISO-8601-Format darstellt, mit so vielen Nachkommastellen für Sekunden wie nötig, um die Dauer genau wiederzugeben.

Beschreibung

Die Methode wird automatisch von JSON.stringify() aufgerufen, wenn bei der JSON-Serialisierung ein Temporal.Duration-Objekt angetroffen wird. Der serialisierte Wert kann anschließend mithilfe der Funktion Temporal.Duration.from() innerhalb der Reviver-Funktion von JSON.parse() deserialisiert werden.

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 anschließend wieder eingelesen 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

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

Browser-Kompatibilität

Siehe auch