CSPViolationReportBody: toJSON() Methode

Veraltet: Diese Funktion wird nicht mehr empfohlen. Obwohl einige Browser sie möglicherweise noch unterstützen, könnte sie bereits aus den relevanten Webstandards entfernt worden sein, in Kürze entfernt werden oder nur noch aus Kompatibilitätsgründen bestehen. Vermeiden Sie die Verwendung und aktualisieren Sie vorhandenen Code, falls möglich; siehe die Kompatibilitätstabelle am Ende dieser Seite, um Ihre Entscheidung zu unterstützen. Beachten Sie, dass diese Funktion jederzeit aufhören könnte zu funktionieren.

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-Objekten, mittels der JSON.stringify()-Methode in einen String umgewandelt zu werden.

Dies wird von der Reporting-API genutzt, 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 darstellt.

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 dem firstReport auf, welches eine Instanz von Report ist. Dies führt dazu, dass die toJSON()-Methode, die in dieser Schnittstelle definiert ist, aufgerufen wird, um den body des Berichts zu serialisieren.

Zu Demonstrationszwecken rufen wir auch JSON.stringify() auf firstReport auf, um einen String zu erstellen, der die JSON-Daten enthält. Beim Senden oder Speichern von Berichtsinformationen ist es üblicher, dies zu tun, als toJSON() direkt zu verwenden.

Spezifikationen

No specification found

No specification data found for api.CSPViolationReportBody.toJSON.
Check for problems with this page or contribute a missing spec_url to mdn/browser-compat-data. Also make sure the specification is included in w3c/browser-specs.

Browser-Kompatibilität