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 Instanzen des Temporal.ZonedDateTime gibt eine Zeichenkette zurück, die dieses Datum-Uhrzeit-Wert im gleichen RFC 9557-Format darstellt, wie es der Aufruf von toString() tun würde. Sie soll implizit durch JSON.stringify() aufgerufen werden.

Syntax

js
toJSON()

Parameter

Keine.

Rückgabewert

Eine Zeichenkette, die das gegebene Datum-Uhrzeit-Wert im RFC 9557-Format darstellt, wobei die Kalenderannotation enthalten ist, wenn sie nicht "iso8601" ist, und die Offset- und Zeitzonenannotation immer enthalten sind.

Beschreibung

Die toJSON() Methode wird automatisch durch JSON.stringify() aufgerufen, wenn ein Temporal.ZonedDateTime Objekt als Zeichenkette umgewandelt wird. Diese Methode ist im Allgemeinen dafür gedacht, standardmäßig Temporal.ZonedDateTime Objekte auf nützliche Weise während der JSON Serialisierung zu serialisieren, die dann mit der Temporal.ZonedDateTime.from() Funktion als Wiederbeleber 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 werden kann und wie es zurückgeparst 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 proposal
# sec-temporal.zoneddatetime.prototype.tojson

Browser-Kompatibilität

Report problems with this compatibility data on GitHub
desktopmobileserver
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
Deno
Node.js
toJSON
Experimental

Legend

Tip: you can click/tap on a cell for more information.

No support
No support
Experimental. Expect behavior to change in the future.
See implementation notes.
User must explicitly enable this feature.

Siehe auch