cirq.to_json

cirq.to_json(obj: Any, file_or_fn: Union[None, IO, pathlib.Path, str] = None, *, indent: int = 2, cls: Type[json.encoder.JSONEncoder] = <class 'cirq.protocols.json_serialization.CirqEncoder'>) → Optional[str][source]

Write a JSON file containing a representation of obj.

The object may be a cirq object or have data members that are cirq
objects which implement the SupportsJSON protocol.
Parameters
  • obj – An object which can be serialized to a JSON representation.

  • file_or_fn – A filename (if a string or pathlib.Path) to write to, or an IO object (such as a file or buffer) to write to, or None to indicate that the method should return the JSON text as its result. Defaults to None.

  • indent – Pretty-print the resulting file with this indent level. Passed to json.dump.

  • cls – Passed to json.dump; the default value of CirqEncoder enables the serialization of Cirq objects which implement the SupportsJSON protocol. To support serialization of 3rd party classes, prefer adding the _json_dict_ magic method to your classes rather than overriding this default.