PerformanceNavigationTiming: toJSON() method
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since October 2021.
The toJSON()
method of the PerformanceNavigationTiming
interface is a serializer; it returns a JSON representation of the PerformanceNavigationTiming
object.
Syntax
toJSON()
Parameters
None.
Return value
A JSON
object that is the serialization of the PerformanceNavigationTiming
object.
Examples
Using the toJSON method
In this example, calling entry.toJSON()
returns a JSON representation of the PerformanceNavigationTiming
object.
const observer = new PerformanceObserver((list) => {
list.getEntries().forEach((entry) => {
console.log(entry.toJSON());
});
});
observer.observe({ entryTypes: ["navigation"] });
This would log a JSON object like so:
{
"name": "https://en.wikipedia.org/wiki/Main_Page",
"entryType": "navigation",
"startTime": 0,
"duration": 227.60000002384186,
"initiatorType": "navigation",
"nextHopProtocol": "h2",
"renderBlockingStatus": "blocking",
"workerStart": 0,
"redirectStart": 4,
"redirectEnd": 71.40000000596046,
"fetchStart": 71.40000000596046,
"domainLookupStart": 71.40000000596046,
"domainLookupEnd": 71.40000000596046,
"connectStart": 71.40000000596046,
"connectEnd": 71.40000000596046,
"secureConnectionStart": 71.40000000596046,
"requestStart": 73.7000000178814,
"responseStart": 102.90000000596046,
"responseEnd": 105.2000000178814,
"transferSize": 19464,
"encodedBodySize": 19164,
"decodedBodySize": 83352,
"serverTiming": [
{
"name": "cache",
"duration": 0,
"description": "hit-front"
},
{
"name": "host",
"duration": 0,
"description": "cp3062"
}
],
"unloadEventStart": 0,
"unloadEventEnd": 0,
"domInteractive": 178.10000002384186,
"domContentLoadedEventStart": 178.2000000178814,
"domContentLoadedEventEnd": 178.2000000178814,
"domComplete": 227.60000002384186,
"loadEventStart": 227.60000002384186,
"loadEventEnd": 227.60000002384186,
"type": "navigate",
"redirectCount": 1,
"activationStart": 0
}
To get a JSON string, you can use JSON.stringify(entry)
directly; it will call toJSON()
automatically.
Specifications
Specification |
---|
Navigation Timing Level 2 # dom-performancenavigationtiming-tojson |
Browser compatibility
Report problems with this compatibility data on GitHubdesktop | mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
toJSON |
Legend
Tip: you can click/tap on a cell for more information.
- Full support
- Full support