Temporal.ZonedDateTime.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 Temporal.ZonedDateTime
-Instanzen gibt einen String zurück, der dieses Datum-Uhrzeit-Objekt im gleichen RFC 9557 Format darstellt, wie beim Aufruf von toString()
. Sie soll implizit von JSON.stringify()
aufgerufen werden.
Syntax
toJSON()
Parameter
Keine.
Rückgabewert
Ein String, der das gegebene Datum-Uhrzeit-Objekt im RFC 9557 Format darstellt, wobei die Kalenderanmerkung enthalten ist, wenn sie nicht "iso8601"
ist, und die Offset- sowie die Zeitzonenanmerkung immer enthalten sind.
Beschreibung
Die toJSON()
-Methode wird automatisch von JSON.stringify()
aufgerufen, wenn ein Temporal.ZonedDateTime
-Objekt als String dargestellt wird. Diese Methode soll im Allgemeinen standardmäßig dazu dienen, Temporal.ZonedDateTime
-Objekte während der JSON-Serialisierung sinnvoll zu serialisieren, welche dann unter Verwendung der Temporal.ZonedDateTime.from()
-Funktion als Reviver von JSON.parse()
deserialisiert werden können.
Beispiele
Verwendung von toJSON()
const zdt = Temporal.ZonedDateTime.from({
year: 2021,
month: 8,
day: 1,
timeZone: "America/New_York",
});
const zdtStr = zdt.toJSON(); // '2021-08-01T00:00:00-04:00[America/New_York]'
const zdt2 = Temporal.ZonedDateTime.from(zdtStr);
JSON-Serialisierung und -Parser
Dieses Beispiel zeigt, wie Temporal.ZonedDateTime
ohne zusätzlichen Aufwand als JSON serialisiert werden kann und wie man es zurückparst.
const zdt = Temporal.ZonedDateTime.from({
year: 2021,
month: 8,
day: 1,
timeZone: "America/New_York",
});
const jsonStr = JSON.stringify({ meeting: zdt }); // '{"meeting":"2021-08-01T00:00:00-04:00[America/New_York]"}'
const obj = JSON.parse(jsonStr, (key, value) => {
if (key === "meeting") {
return Temporal.ZonedDateTime.from(value);
}
return value;
});
Spezifikationen
Specification |
---|
Temporal # sec-temporal.zoneddatetime.prototype.tojson |