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

View in English Always switch to English

Performance: Methode toJSON()

Baseline
Weitgehend verfügbar

Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit April 2021 browserübergreifend verfügbar.

Hinweis: Diese Funktion ist in Web Workers verfügbar.

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

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

Syntax

js
toJSON()

Parameter

Keine.

Rückgabewert

Ein JSON-serialisierbares einfaches Objekt mit den folgenden Eigenschaften:

Der Wert jeder Eigenschaft wird unverändert kopiert. Wenn das zurückgegebene Objekt an JSON.stringify() übergeben wird, werden die Eigenschaften timing und navigation zusätzlich mit PerformanceTiming.toJSON() beziehungsweise PerformanceNavigation.toJSON() serialisiert.

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

Hinweis: In einem Fensterkontext enthält das zurückgegebene Objekt interactionCount sowie die veralteten Eigenschaften performance.timing und performance.navigation. Diese Eigenschaften sind in Workern nicht verfügbar. Um ein JSON-serialisierbares einfaches Objekt zu erhalten, das einen PerformanceNavigationTiming-Eintrag repräsentiert, rufen Sie stattdessen PerformanceNavigationTiming.toJSON() auf.

Beispiele

toJSON() direkt aufrufen

Wenn toJSON() direkt auf performance aufgerufen wird, gibt die Methode ein einfaches Objekt zurück. Dessen Eigenschaften haben dieselben Werte wie die entsprechenden Eigenschaften des ursprünglichen Objekts.

js
const json = performance.toJSON();
console.log(json); // A plain object
console.log(typeof json); // "object"
console.log(json.timeOrigin); // Same value as performance.timeOrigin

Als JSON-String serialisieren

In diesem Beispiel wird das Performance-Objekt mit JSON.stringify() serialisiert. Dabei wird die Methode toJSON() automatisch aufgerufen.

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

Dadurch würde ein JSON-String wie der folgende protokolliert (zur besseren Lesbarkeit formatiert):

json
{
  "timeOrigin": 1668077531367.4,
  "timing": {
    "connectStart": 1668077531372,
    "navigationStart": 1668077531367,
    "secureConnectionStart": 0,
    "fetchStart": 1668077531372,
    "domContentLoadedEventStart": 1668077531580,
    "responseStart": 1668077531372,
    "domInteractive": 1668077531524,
    "domainLookupEnd": 1668077531372,
    "responseEnd": 1668077531500,
    "redirectStart": 0,
    "requestStart": 1668077531372,
    "unloadEventEnd": 0,
    "unloadEventStart": 0,
    "domLoading": 1668077531512,
    "domComplete": 1668077531585,
    "domainLookupStart": 1668077531372,
    "loadEventStart": 1668077531585,
    "domContentLoadedEventEnd": 1668077531580,
    "loadEventEnd": 1668077531585,
    "redirectEnd": 0,
    "connectEnd": 1668077531372
  },
  "navigation": {
    "type": 0,
    "redirectCount": 0
  },
  "interactionCount": 0
}

Spezifikationen

Spezifikation
High Resolution Time
# dom-performance-tojson

Browser-Kompatibilität

Siehe auch