Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

PerformanceEventTiming: Methode toJSON()

Baseline 2025
Neu verfügbar

Seit Dezember 2025 funktioniert diese Funktion auf aktuellen Geräten und in aktuellen Browserversionen. Auf älteren Geräten oder in älteren Browsern funktioniert sie möglicherweise nicht.

Die Methode toJSON() der Schnittstelle PerformanceEventTiming gibt ein einfaches, JSON-serialisierbares Objekt zurück, das das PerformanceEventTiming-Objekt repräsentiert.

Die Methode wird automatisch von JSON.stringify() aufgerufen, wenn bei der JSON-Serialisierung ein PerformanceEventTiming-Objekt vorkommt.

Syntax

js
toJSON()

Parameter

Keine.

Rückgabewert

Ein einfaches, JSON-serialisierbares Objekt mit den folgenden Eigenschaften:

Der Wert jeder Eigenschaft wird unverändert übernommen.

Das zurückgegebene Objekt enthält die Eigenschaft target nicht, da Node keine toJSON()-Operation bereitstellt.

Beispiele

toJSON() direkt aufrufen

In diesem Beispiel wird ein PerformanceEventTiming-Objekt abgerufen. Ein direkter Aufruf von toJSON() gibt ein einfaches Objekt zurück. Dessen Eigenschaften haben dieselben Werte wie die entsprechenden Eigenschaften des ursprünglichen Objekts.

js
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.processingStart); // Same value as entry.processingStart
  });
});

observer.observe({ type: "event", buffered: true });

Als JSON-Zeichenfolge serialisieren

Innerhalb der Callback-Funktion aus dem vorherigen Beispiel kann dasselbe Objekt mit JSON.stringify() serialisiert werden. Dabei wird die Methode toJSON() automatisch aufgerufen.

js
console.log(JSON.stringify(entry));

Dadurch würde eine JSON-Zeichenfolge wie die folgende protokolliert (zur besseren Lesbarkeit formatiert):

json
{
  "name": "dragover",
  "entryType": "event",
  "startTime": 67090751.5,
  "duration": 128,
  "navigationId": 2463,
  "interactionId": 0,
  "processingStart": 67090751.75,
  "processingEnd": 67090752.25,
  "cancelable": true
}

Spezifikationen

Spezifikation
Event Timing API
# dom-performanceeventtiming-tojson

Browser-Kompatibilität

Siehe auch