CSPViolationReportBody: метод toJSON()
Метод toJSON() интерфейса CSPViolationReportBody является сериализатором, который возвращает JSON-представление объекта CSPViolationReportBody.
Наличие метода toJSON() позволяет преобразовать объекты CSPViolationReportBody в строку, используя метод JSON.stringify().
Это используется API отчетов при создании сериализованной версии отчета о нарушении для отправки в конечную точку отчетов.
Синтаксис
toJSON()
Параметры
Нет.
Возвращаемое значение
Объект JSON, являющийся сериализацией объекта CSPViolationReportBody.
Примеры
В этом примере мы создаем новый ReportingObserver для наблюдения за отчетами о нарушениях CSP, затем возвращаем JSON-представление первой записи.
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();
Мы вызываем toJSON() на firstReport, который является экземпляром Report, что в свою очередь приводит к вызову toJSON(), определенного в этом интерфейсе, для сериализации body отчета.
Для демонстрации мы также вызываем JSON.stringify() на firstReport для создания строки, содержащей JSON-данные. При отправке или хранении информации об отчете обычно используется этот метод, а не toJSON() напрямую.
Спецификации
Совместимость с браузерами
| Рабочие столы | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari на IOS | Samsung Internet | WebView Android | |
toJSON |
80 | 80 | Нет | 56 | превью | 80 | Нет | 48 | Нет | 10.0 | 80 |
© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/CSPViolationReportBody/toJSON