Temporal.Duration : 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.Duration retourne une chaîne de caractères représentant cette durée dans le même format ISO 8601 que l'appel de toString(). Elle est destinée à être appelée implicitement par JSON.stringify().
Syntaxe
toJSON()
Paramètres
Aucun.
Valeur de retour
Une chaîne de caractères représentant la durée donnée dans le format ISO 8601, avec autant de précision subsecondes que nécessaire pour représenter la durée avec exactitude.
Description
La méthode toJSON() est automatiquement appelée par JSON.stringify() lorsqu'un objet Temporal.Duration est converti en chaîne de caractères. Cette méthode est généralement destinée à, par défaut, sérialiser de manière utile les objets Temporal.Duration lors de la sérialisation JSON, qui peuvent ensuite être désérialisés en utilisant la fonction Temporal.Duration.from() comme reviver de JSON.parse().
Exemples
>Utiliser la méthode toJSON()
const duration = Temporal.Duration.from({ hours: 1, minutes: 30, seconds: 15 });
const durationStr = duration.toJSON(); // 'PT1H30M15S'
const d2 = Temporal.Duration.from(durationStr);
Sérialisation et analyse JSON
Cet exemple montre comment Temporal.Duration peut être sérialisé en JSON sans effort supplémentaire, et comment l'analyser à nouveau.
const duration = Temporal.Duration.from({ hours: 1, minutes: 30, seconds: 15 });
const jsonStr = JSON.stringify({ data: duration }); // '{"data":"PT1H30M15S"}'
const obj = JSON.parse(jsonStr, (key, value) => {
if (key === "data") {
return Temporal.Duration.from(value);
}
return value;
});
Spécifications
| Spécification |
|---|
| Temporal> # sec-temporal.duration.prototype.tojson> |
Compatibilité des navigateurs
Voir aussi
- L'objet
Temporal.Duration - La méthode statique
Temporal.Duration.from() - La méthode
Temporal.Duration.prototype.toString() - La méthode
Temporal.Duration.prototype.toLocaleString()