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

Temporal.ZonedDateTime : méthode toJSON()

Disponibilité limitée

Cette fonctionnalité n'est pas Compatible car elle ne fonctionne pas dans certains des navigateurs les plus utilisés.

La méthode toJSON() des instances de Temporal.ZonedDateTime retourne une chaîne de caractères représentant cette date et cette heure dans le même format RFC 9557 que l'appel de toString(). Elle est destinée à être appelée implicitement par JSON.stringify().

Syntaxe

js
toJSON()

Paramètres

Aucun.

Valeur de retour

Une chaîne de caractères représentant la date et l'heure données dans le format RFC 9557, avec l'annotation du calendrier incluse si elle n'est pas "iso8601", et l'annotation du décalage et du fuseau horaire toujours incluse.

Description

La méthode toJSON() est automatiquement appelée par JSON.stringify() lorsqu'un objet Temporal.ZonedDateTime est converti en chaîne de caractères JSON. Cette méthode est généralement destinée à sérialiser de manière utile les objets Temporal.ZonedDateTime lors de la sérialisation JSON, qui peuvent ensuite être désérialisés en utilisant la fonction Temporal.ZonedDateTime.from() comme réactivateur de JSON.parse().

Exemples

Utiliser la méthode 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);

Sérialisation et analyse JSON

Cet exemple montre comment Temporal.ZonedDateTime peut être sérialisé en JSON sans effort supplémentaire, et comment l'analyser à nouveau.

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;
});

Spécifications

Spécification
Temporal
# sec-temporal.zoneddatetime.prototype.tojson

Compatibilité des navigateurs

Voir aussi