PerformanceEntry: Methode toJSON()
Baseline
Weitgehend verfügbar
Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit Oktober 2017 browserübergreifend verfügbar.
Hinweis: Diese Funktion ist in Web Workers verfügbar.
Die Methode toJSON() des PerformanceEntry-Interfaces gibt ein JSON-serialisierbares einfaches Objekt zurück, das das PerformanceEntry-Objekt repräsentiert.
Die Methode wird automatisch von JSON.stringify() aufgerufen, wenn bei der JSON-Serialisierung ein PerformanceEntry-Objekt verarbeitet wird.
Syntax
toJSON()
Parameter
Keine.
Rückgabewert
Ein JSON-serialisierbares einfaches Objekt mit den folgenden Eigenschaften:
Der Wert jeder Eigenschaft wird unverändert kopiert.
Beispiele
>toJSON() direkt aufrufen
Dieses Beispiel ruft ein PerformanceEntry-Objekt ab. Ein direkter Aufruf von toJSON() gibt ein einfaches Objekt zurück. Dessen Eigenschaften haben dieselben Werte wie die entsprechenden Eigenschaften des ursprünglichen Objekts.
performance.mark("debug-marker", {
detail: "debugging-marker-123",
});
const observer = new PerformanceObserver((list) => {
list.getEntries().forEach((entry) => {
const json = entry.toJSON();
console.log(json); // A plain object
console.log(typeof json); // "object"
console.log(json.name); // Same value as entry.name
});
});
observer.observe({ type: "mark", buffered: true });
In einen JSON-String serialisieren
Innerhalb der Callback-Funktion aus dem vorherigen Beispiel kann dasselbe Objekt mit JSON.stringify() serialisiert werden. Dabei wird die Methode toJSON() automatisch aufgerufen.
console.log(JSON.stringify(entry));
Dadurch würde ein JSON-String wie der folgende ausgegeben (zur besseren Lesbarkeit formatiert):
{
"name": "debug-marker",
"entryType": "mark",
"startTime": 158361.5,
"duration": 0,
"navigationId": 2463
}
Beachten Sie, dass die Eigenschaft detail von PerformanceMark darin nicht enthalten ist.
Spezifikationen
| Spezifikation |
|---|
| Performance Timeline> # dom-performanceentry-tojson> |