The toJSON() method of the LargestContentfulPaint interface is a serializer; it returns a JSON representation of the LargestContentfulPaint object.
A JSON object that is the serialization of the LargestContentfulPaint object.
The JSON doesn't contain the element property because it is of type Element, which doesn't provide a toJSON() operation.
In this example, calling entry.toJSON() returns a JSON representation of the LargestContentfulPaint object.
const observer = new PerformanceObserver((list) => {
list.getEntries().forEach((entry) => {
console.log(entry.toJSON());
});
});
observer.observe({ type: "largest-contentful-paint", buffered: true });
This would log a JSON object like so:
{
"name": "",
"entryType": "largest-contentful-paint",
"startTime": 468.2,
"duration": 0,
"size": 19824,
"renderTime": 468.2,
"loadTime": 0,
"id": "",
"url": ""
}
To get a JSON string, you can use JSON.stringify(entry) directly; it will call toJSON() automatically.