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]¶
Write a JSON file containing a representation of obj.The object may be a cirq object or have data members that are cirqobjects which implement the SupportsJSON protocol.
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.