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

Date : mthode toJSON() - JavaScript | MDN

Cette page a t traduite partir de l'anglais par la communaut. Vous pouvez contribuer en rejoignant la communaut francophone sur MDN Web Docs.

View in English Always switch to English

Date : mthode toJSON()

Baseline Large disponibilit

Cette fonctionnalit est bien tablie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis juillet 2015.

La mthode toJSON() des instances de Date retourne une chane de caractres reprsentant cette date au mme format ISO que toISOString().

Dans cet article

Exemple interactif

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"

Syntaxe

js
toJSON()

Paramtres

Aucun.

Valeur de retour

Une chane de caractres reprsentant la date donne au format chane de date-heure selon le temps universel, ou null si la date est invalide. Pour les dates valides, la valeur de retour est identique celle de toISOString().

Description

La mthode toJSON() est automatiquement appele par JSON.stringify() lorsqu'un objet Date est converti en chane de caractres. Cette mthode est gnralement destine, par dfaut, srialiser utilement les objets Date lors de la srialisation JSON, qui peuvent ensuite tre dsrialiss l'aide du constructeur Date() comme reviver de JSON.parse().

La mthode tente d'abord de convertir sa valeur this en une valeur primitive en appelant successivement [Symbol.toPrimitive]() (avec l'indication "number"), valueOf(), puis toString(). Si le rsultat est un nombre non fini, null est retourn. (Cela correspond gnralement une date invalide, dont valueOf() retourne NaN.) Sinon, si la valeur primitive convertie n'est pas un nombre ou est un nombre fini, la valeur de retour de this.toISOString() est retourne.

Notez que la mthode ne vrifie pas si la valeur this est un objet Date valide. Cependant, appeler Date.prototype.toJSON() sur des objets qui ne sont pas des Date choue sauf si la reprsentation primitive numrique de l'objet est NaN, ou si l'objet possde aussi une mthode toISOString().

Exemple

Utiliser la mthode toJSON()

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

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

Srialisation et dsrialisation

Lors de l'analyse d'un JSON contenant des chanes de caractres reprsentant des dates, vous pouvez utiliser le constructeur Date() pour les restaurer en objets date d'origine.

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

// Imaginons une transmission par le rseau

const donnee = JSON.parse(reponse, (cle, valeur) => {
  if (cle === "createdAt" || cle === "updatedAt") {
    return new Date(valeur);
  }
  return valeur;
});

console.log(donnee);

Note : Le reviver de JSON.parse() doit tre adapt la structure attendue du contenu, car la srialisation est irrversible : il n'est pas possible de distinguer une chane reprsentant une date d'une chane normale.

Spcifications

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

Compatibilit des navigateurs

Voir aussi


Web Proxy Viewer  |  New URL  |  Original Page