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()

Eingeschränkt verfügbar

Diese Funktion ist nicht Baseline, da sie in einigen der am weitesten verbreiteten Browser nicht funktioniert.

Want more browser support for this feature? Tell us why.

Die Methode toJSON() von Temporal.ZonedDateTime-Instanzen gibt einen String zurück, der dieses Datum und diese Uhrzeit im selben RFC-9557-Format darstellt wie ein Aufruf von toString(). Sie ist dafür vorgesehen, implizit von JSON.stringify() aufgerufen zu werden.

Syntax

js
toJSON()

Parameter

Keine.

Rückgabewert

Ein String, der das angegebene Datum und die angegebene Uhrzeit im RFC-9557-Format darstellt. Die Kalenderannotation ist enthalten, wenn der Kalender nicht "iso8601" ist; der Offset und die Zeitzonenannotation sind immer enthalten.

Beschreibung

Die Methode wird automatisch von JSON.stringify() aufgerufen, wenn bei der JSON-Serialisierung ein Temporal.ZonedDateTime-Objekt auftritt. Der serialisierte Wert kann anschließend mit der Funktion Temporal.ZonedDateTime.from() innerhalb der Reviver-Funktion von JSON.parse() deserialisiert werden.

Beispiele

toJSON() verwenden

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 anschließend 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

Spezifikation
Temporal
# sec-temporal.zoneddatetime.prototype.tojson

Browser-Kompatibilität

Siehe auch