Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

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