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 eine Zeichenfolge zurück, die 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
toJSON()
Parameter
Keine.
Rückgabewert
Eine Zeichenfolge, die die angegebene Dauer im ISO-8601-Format darstellt. Sie enthält so viele Nachkommastellen für Sekunden, wie für eine genaue Darstellung der Dauer erforderlich sind.
Beschreibung
Die Methode toJSON() wird automatisch von JSON.stringify() aufgerufen, wenn ein Temporal.Duration-Objekt in eine Zeichenfolge umgewandelt wird. Sie dient dazu, Temporal.Duration-Objekte bei der JSON-Serialisierung standardmäßig in einer nützlichen Form zu serialisieren. Anschließend können sie mit der Funktion Temporal.Duration.from() im Reviver von JSON.parse() deserialisiert werden.
Beispiele
>toJSON() verwenden
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 geparst werden kann.
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> |