CSPViolationReportBody: toJSON()-Methode

Die toJSON()-Methode der CSPViolationReportBody-Schnittstelle ist ein Serializer, der eine JSON-Darstellung des CSPViolationReportBody-Objekts zurückgibt.

Das Vorhandensein einer toJSON()-Methode ermöglicht es, CSPViolationReportBody-Objekte mit der JSON.stringify()-Methode in eine Zeichenkette umzuwandeln.

Dies wird von der Reporting-API verwendet, um eine serialisierte Version eines Verstoßberichts zu erstellen, die an einen Reporting-Endpunkt gesendet wird.

Syntax

js
toJSON()

Parameter

Keine.

Rückgabewert

Ein JSON-Objekt, das die Serialisierung des CSPViolationReportBody-Objekts ist.

Beispiele

In diesem Beispiel erstellen wir einen neuen ReportingObserver, um CSP-Verstoßberichte zu beobachten, und geben dann eine JSON-Darstellung des ersten Eintrags zurück.

js
const observer = new ReportingObserver(
  (reports, observer) => {
    const firstReport = reports[0];
    // Log JSON object
    console.log(firstReport.toJSON());
    // Log JSON object as a string
    console.log(JSON.stringify(firstReport));
  },
  {
    types: ["csp-violation"],
    buffered: true,
  },
);

observer.observe();

Wir rufen toJSON() auf firstReport auf, das eine Instanz von Report ist, was wiederum dazu führt, dass die in dieser Schnittstelle definierte toJSON()-Methode aufgerufen wird, um den body des Berichts zu serialisieren.

Zum Zweck der Demonstration rufen wir auch JSON.stringify() auf firstReport auf, um eine Zeichenkette zu erstellen, die die JSON-Daten enthält. Beim Senden oder Speichern von Berichtsinformationen ist es gebräuchlicher, dies zu tun, als toJSON() direkt zu verwenden.

Spezifikationen

Specification
Content Security Policy Level 3
# dom-cspviolationreportbody-tojson

Browser-Kompatibilität

BCD tables only load in the browser