PerformanceNavigationTiming: toJSON() method
The toJSON()
method of the PerformanceNavigationTiming
interface is a serializer; it returns a JSON representation of the PerformanceNavigationTiming
object.
Syntax
js
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.
js
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:
json
{
"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
BCD tables only load in the browser