Temporal.Duration.prototype.toJSON()
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Die toJSON()-Methode von Temporal.Duration-Instanzen gibt eine Zeichenkette zurück, die diese Dauer im gleichen ISO 8601-Format darstellt wie ein Aufruf von toString(). Sie soll implizit durch JSON.stringify() aufgerufen werden.
Syntax
toJSON()
Parameter
Keine.
Rückgabewert
Eine Zeichenkette, die die gegebene Dauer im ISO 8601-Format darstellt, mit so viel Nachkommastellen wie notwendig, um die Dauer genau darzustellen.
Beschreibung
Die toJSON()-Methode wird automatisch von JSON.stringify() aufgerufen, wenn ein Temporal.Duration-Objekt in eine Zeichenkette umgewandelt wird. Diese Methode soll im Allgemeinen standardmäßig Temporal.Duration-Objekte nützlich während der JSON-Serialisierung serialisieren, die dann mit der Temporal.Duration.from()-Funktion beim Deserialisieren mit JSON.parse() als reviver verwendet werden können.
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 werden kann und wie man es zurückparsen 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
| Specification |
|---|
| Temporal> # sec-temporal.duration.prototype.tojson> |