Performance: toJSON() method

The toJSON() method of the Performance interface is a serializer; it returns a JSON representation of the Performance object.





Return value

A JSON object that is the serialization of the Performance object.

The returned JSON doesn't contain the eventCounts property because it is of type EventCounts, which doesn't provide a toJSON() operation.

Note: The JSON object contains the serialization of the deprecated performance.timing and performance.navigation properties. To get a JSON representation of the newer PerformanceNavigationTiming interface, call PerformanceNavigationTiming.toJSON() instead.


Using the toJSON method

In this example, calling performance.toJSON() returns a JSON representation of the Performance object.


This would log a JSON object like so:

  "timeOrigin": 1668077531367.4,
  "timing": {
    "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
  "navigation": {
    "type": 0,
    "redirectCount": 0

To get a JSON string, you can use JSON.stringify(performance) directly; it will call toJSON() automatically.


High Resolution Time
# dom-performance-tojson

Browser compatibility

BCD tables only load in the browser

See also