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

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
toJSON

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support
In development. Supported in a pre-release version.
In development. Supported in a pre-release version.
No support
No support