PerformanceEntry: toJSON() 方法

Baseline 已广泛支持

此功能已非常成熟,可在多种设备和浏览器版本上使用。自 2017 年 10 月以来,它已在各大浏览器中可用。

注意:此功能在 Web Workers 中可用。

toJSON() 方法是一个序列化器;它返回 PerformanceEntry 对象的 JSON 表示。

语法

js
toJSON()

参数

无。

返回值

一个 JSON 对象,它是 PerformanceEntry 对象的序列化表示。

示例

使用 toJSON 方法

在此示例中,调用 entry.toJSON() 会返回 PerformanceMark 对象的 JSON 表示。

js
performance.mark("debug-marker", {
  detail: "debugging-marker-123",
});

const observer = new PerformanceObserver((list) => {
  list.getEntries().forEach((entry) => {
    console.log(entry.toJSON());
  });
});

observer.observe({ entryTypes: ["mark"] });

这将记录一个类似如下的 JSON 对象

json
{
  "name": "debug-marker",
  "entryType": "mark",
  "startTime": 158361,
  "duration": 0
}

请注意,它不包含 PerformanceMarkdetail 属性。

要获取 JSON 字符串,您可以直接使用 JSON.stringify(entry);它会自动调用 toJSON()

规范

规范
性能时间线
# dom-performanceentry-tojson

浏览器兼容性

另见