[ Web Proxy ]
URL:
Viewing: https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Global_Objects/Date/toJSON [Back]  [Original]

Date.prototype.toJSON() - JavaScript | MDN

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

View in English Always switch to English

Date.prototype.toJSON()

Baseline Weitgehend verfgbar

Diese Funktion ist gut etabliert und funktioniert auf vielen Gerten und in vielen Browserversionen. Sie ist seit Juli 2015 browserbergreifend verfgbar.

Die toJSON()-Methode von Date Instanzen liefert einen String, der dieses Datum im gleichen ISO-Format wie toISOString() darstellt.

In diesem Artikel

Probieren Sie es aus

const event = new Date("August 19, 1975 23:15:30 UTC");

const jsonDate = event.toJSON();

console.log(jsonDate);
// Expected output: "1975-08-19T23:15:30.000Z"

console.log(new Date(jsonDate).toUTCString());
// Expected output: "Tue, 19 Aug 1975 23:15:30 GMT"

Syntax

js
toJSON()

Parameter

Keine.

Rckgabewert

Ein String, der das gegebene Datum im Datum-Zeit-String-Format entsprechend der Universalzeit darstellt, oder null, wenn das Datum ungltig ist. Bei gltigen Daten entspricht der Rckgabewert dem von toISOString().

Beschreibung

Die toJSON()-Methode wird automatisch von JSON.stringify() aufgerufen, wenn ein Date-Objekt in einen String umgewandelt wird. Diese Methode soll in der Regel standardmig ntzliche Date Objekte whrend der JSON Serialisierung serialisieren, die dann mit dem Date() Konstruktor beim Reviver von JSON.parse() deserialisiert werden knnen.

Die Methode versucht zunchst, ihren this-Wert in einen primitiven Wert umzuwandeln, indem sie der Reihe nach ihre [Symbol.toPrimitive]() (mit "number" als Hinweis), valueOf(), und toString() Methoden aufruft. Wenn das Ergebnis eine nicht-endliche Zahl ist, wird null zurckgegeben. (Dies entspricht im Allgemeinen einem ungltigen Datum, dessen valueOf() NaN zurckgibt.) Andernfalls, wenn der umgewandelte primitive Wert keine Zahl oder eine endliche Zahl ist, wird der Rckgabewert von this.toISOString() zurckgegeben.

Beachten Sie, dass die Methode nicht berprft, ob der this-Wert ein gltiges Date Objekt ist. Wenn jedoch Date.prototype.toJSON() auf Nicht-Date Objekte aufgerufen wird, schlgt dies fehl, es sei denn, die primitive Zahlenreprsentation des Objekts ist NaN oder das Objekt besitzt ebenfalls eine toISOString()-Methode.

Beispiele

Verwendung von toJSON()

js
const jsonDate = new Date(0).toJSON(); // '1970-01-01T00:00:00.000Z'
const backToDate = new Date(jsonDate);

console.log(jsonDate); // 1970-01-01T00:00:00.000Z

Serialisierung und Rckumwandlung

Beim Parsen von JSON, das Datums-Strings enthlt, knnen Sie den Date() Konstruktor verwenden, um sie in die ursprnglichen Datumsobjekte zurckzufhren.

js
const fileData = {
  author: "Maria",
  title: "Date.prototype.toJSON()",
  createdAt: new Date(2019, 3, 15),
  updatedAt: new Date(2020, 6, 26),
};
const response = JSON.stringify(fileData);

// Imagine transmission through network

const data = JSON.parse(response, (key, value) => {
  if (key === "createdAt" || key === "updatedAt") {
    return new Date(value);
  }
  return value;
});

console.log(data);

Hinweis: Der Reviver von JSON.parse() muss spezifisch fr die erwartete Payload-Form sein, da die Serialisierung irreversibel ist: es ist nicht mglich, zwischen einem String, der ein Datum darstellt, und einem normalen String zu unterscheiden.

Spezifikationen

Spezifikation
ECMAScript 2027 LanguageSpecification
# sec-date.prototype.tojson

Browser-Kompatibilitt

Siehe auch


Web Proxy Viewer  |  New URL  |  Original Page