cirq.to_json(obj: Any, file_or_fn: Union[IO, pathlib.Path, str], *, indent='2', cls='CirqEncoder') → None[source]
cirq.to_json(obj: Any, file_or_fn: None = 'None', *, indent='2', cls='CirqEncoder') → str

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.
  • 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.