Temporal.ZonedDateTime.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.ZonedDateTime-Instanzen gibt einen String zurück, der diese Datum-Uhrzeit im gleichen RFC 9557-Format darstellt wie durch den Aufruf von toString(). Sie soll implizit durch JSON.stringify() aufgerufen werden.
Syntax
toJSON()
Parameter
Keine.
Rückgabewert
Ein String, der die gegebene Datum-Uhrzeit im RFC 9557-Format darstellt, wobei die Kalenderannotation enthalten ist, wenn sie nicht "iso8601" ist, und die Offset- sowie die Zeitzonenannotation immer enthalten sind.
Beschreibung
Die toJSON()-Methode wird automatisch von JSON.stringify() aufgerufen, wenn ein Temporal.ZonedDateTime-Objekt in einen String umgewandelt wird. Diese Methode soll im Allgemeinen dazu dienen, Temporal.ZonedDateTime-Objekte während der JSON-Serialisierung nützlich zu serialisieren, die dann mittels der Temporal.ZonedDateTime.from()-Funktion als Wiederbeleber 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 -Parsing
Dieses Beispiel zeigt, wie Temporal.ZonedDateTime ohne zusätzlichen Aufwand als JSON serialisiert und wie es zurück geparst werden kann.
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> |