Skip to main content
Version: 3.28.0

Date.prototype.toJSON()

The toJSON() method returns a string representation of the Date object.

Syntax

toJSON()

Return value

A string representation of the given date.

Description

Date instances refer to a specific point in time. toJSON() calls the object's Date.prototype.toISOString() method, which returns a string representing the Date object's value. This method is generally intended to, by default, usefully serialize Date objects during JSON serialization, which can then be deserialized using the Date() constructor or Date.parse() as the reviver of JSON.parse().

The method first attempts to convert its this value to a primitive by calling its [Symbol.toPrimitive]() (with "number" as hint), valueOf(), and toString() methods, in that order. If the result is a non-finite number, null is returned. (This generally corresponds to an invalid date, whose valueOf() returns NaN.) Otherwise, if the converted primitive is not a number or is a finite number, the return value of this.toISOString() is returned.

Note that the method does not check whether the this value is a valid Date object. However, calling Date.prototype.toJSON() on non-Date objects does not have well-defined semantics.