PerformanceTiming: toJSON() method
Deprecated
Avoid using this feature in new projects.
This feature is supserseded by the PerformanceNavigationTiming API.
This feature may be a candidate for removal from web standards or browsers.
Consider using the following features instead: Performance or Navigation timing performance entries.
Warning:
This interface of this property is deprecated in the Navigation Timing Level 2 specification. Please use the PerformanceNavigationTiming
interface instead.
The toJSON() method of the PerformanceTiming interface returns a JSON-serializable plain object representing the PerformanceTiming object.
The method is automatically called by JSON.stringify() when a PerformanceTiming object is encountered during JSON serialization.
Syntax
toJSON()
Parameters
None.
Return value
A JSON-serializable plain object containing the following properties:
connectStartnavigationStartsecureConnectionStartfetchStartdomContentLoadedEventStartresponseStartdomInteractivedomainLookupEndresponseEndredirectStartrequestStartunloadEventEndunloadEventStartdomLoadingdomCompletedomainLookupStartloadEventStartdomContentLoadedEventEndloadEventEndredirectEndconnectEnd
Each property's value is copied as-is.
Examples
Calling toJSON() directly
Calling toJSON() directly on performance.timing returns a plain object. Its properties have the same values as the corresponding properties of the original object.
const json = performance.timing.toJSON();
console.log(json); // A plain object
console.log(typeof json); // "object"
console.log(json.navigationStart); // Same value as performance.timing.navigationStart
Serializing to a JSON string
In this example, the PerformanceTiming object is serialized using JSON.stringify(), which calls the toJSON() method automatically.
console.log(JSON.stringify(performance.timing));
This would log a JSON string like so (formatted for readability):
{
"connectStart": 1668077531372,
"navigationStart": 1668077531367,
"secureConnectionStart": 0,
"fetchStart": 1668077531372,
"domContentLoadedEventStart": 1668077531580,
"responseStart": 1668077531372,
"domInteractive": 1668077531524,
"domainLookupEnd": 1668077531372,
"responseEnd": 1668077531500,
"redirectStart": 0,
"requestStart": 1668077531372,
"unloadEventEnd": 0,
"unloadEventStart": 0,
"domLoading": 1668077531512,
"domComplete": 1668077531585,
"domainLookupStart": 1668077531372,
"loadEventStart": 1668077531585,
"domContentLoadedEventEnd": 1668077531580,
"loadEventEnd": 1668077531585,
"redirectEnd": 0,
"connectEnd": 1668077531372
}
Specifications
| Specification |
|---|
| Navigation Timing Level 2 # dom-performancetiming-tojson |