PushSubscription: toJSON() method

Baseline 2023

Newly available

Since March 2023, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.

Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.

Note: This feature is available in Web Workers.

The toJSON() method of the PushSubscription interface is a standard serializer: it returns a JSON representation of the subscription properties, providing a useful shortcut.

Syntax

js
toJSON()

Parameters

None.

Return value

A JSON object. It contains the subscription endpoint, expirationTime and public keys, as an endpoint member, an expirationTime member and a keys member.

Examples

js
navigator.serviceWorker.ready.then((reg) => {
  reg.pushManager.getSubscription().then((subscription) => {
    const mySubscription = subscription.toJSON();
    // do something with subscription details
  });
});

Specifications

Specification
Push API
# dom-pushsubscription-tojson

Browser compatibility

BCD tables only load in the browser