Temporal.PlainDateTime.prototype.toJSON()
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Want more browser support for this feature? Tell us why.
The toJSON() method of Temporal.PlainDateTime instances returns a string representing this date-time in the same RFC 9557 format as calling toString(). It is intended to be implicitly called by JSON.stringify().
Syntax
toJSON()
Parameters
None.
Return value
A string representing the given date-time in the RFC 9557 format, with the calendar annotation included if it is not "iso8601".
Description
The method is automatically called by JSON.stringify() when a Temporal.PlainDateTime object is encountered during JSON serialization. The serialized value can then be deserialized using the Temporal.PlainDateTime.from() function within the reviver of JSON.parse().
Examples
>Using toJSON()
const dt = Temporal.PlainDateTime.from({ year: 2021, month: 8, day: 1 });
const dtStr = dt.toJSON(); // '2021-08-01T00:00:00'
const dt2 = Temporal.PlainDateTime.from(dtStr);
JSON serialization and parsing
This example shows how Temporal.PlainDateTime can be serialized as JSON without extra effort, and how to parse it back.
const dt = Temporal.PlainDateTime.from({ year: 2021, month: 8, day: 1 });
const jsonStr = JSON.stringify({ nextBilling: dt }); // '{"nextBilling":"2021-08-01T00:00:00"}'
const obj = JSON.parse(jsonStr, (key, value) => {
if (key === "nextBilling") {
return Temporal.PlainDateTime.from(value);
}
return value;
});
Specifications
| Specification |
|---|
| Temporal> # sec-temporal.plaindatetime.prototype.tojson> |