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
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()
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.
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> |