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 von Temporal.ZonedDateTime-Instanzen gibt einen String zurück, der dieses Datum-Uhrzeit im selben RFC 9557-Format darstellt, wie es bei einem Aufruf von toString() geschieht. Sie soll implizit von JSON.stringify() aufgerufen werden.

Syntax

js
toJSON()

Parameter

Keine.

Rückgabewert

Ein String, der das angegebene Datum-Uhrzeit im RFC 9557-Format darstellt, wobei die Kalenderanmerkung enthalten ist, wenn sie nicht "iso8601" ist, und die Versatz- und Zeitzonenanmerkungen 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 nützlich sein, um Temporal.ZonedDateTime-Objekte während der JSON-Serialisierung standardmäßig zu serialisieren, die dann mit der Temporal.ZonedDateTime.from()-Funktion als Wiederherstellungsfunktion von JSON.parse() deserialisiert werden können.

Beispiele

Verwendung von toJSON()

js
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 wieder geparst werden kann.

js
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

Browser-Kompatibilität

Siehe auch