VideoColorSpace: toJSON() method

Baseline 2024
Newly available

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

Want more browser support for this feature? Tell us why.

Note: This feature is available in Dedicated Web Workers.

The toJSON() method of the VideoColorSpace interface returns a JSON-serializable plain object representing the VideoColorSpace object.

The method is automatically called by JSON.stringify() when a VideoColorSpace object is encountered during JSON serialization. The serialized value can then be deserialized using the VideoColorSpace() constructor within the reviver of JSON.parse().

Syntax

js
toJSON()

Parameters

None.

Return value

A JSON-serializable plain object containing the following properties:

Each property's value is copied as-is.

Examples

Calling toJSON() directly

Calling toJSON() directly returns a plain object containing the VideoColorSpace object's properties.

js
const colorSpace = new VideoColorSpace({
  primaries: "bt709",
  transfer: "bt709",
  matrix: "bt709",
  fullRange: true,
});

const json = colorSpace.toJSON();
console.log(json);
// { fullRange: true, matrix: "bt709", primaries: "bt709", transfer: "bt709" }
console.log(typeof json); // "object"

Serializing to a JSON string

The VideoColorSpace object from the previous example is serialized using JSON.stringify(), which calls the toJSON() method automatically.

js
console.log(JSON.stringify(colorSpace));

This would log a JSON string like so (formatted for readability):

json
{
  "fullRange": true,
  "matrix": "bt709",
  "primaries": "bt709",
  "transfer": "bt709"
}

Specifications

Specification
WebCodecs
# dom-videocolorspace-tojson

Browser compatibility