Write a JSON file containing a representation of obj.

Used in the notebooks

Used in the tutorials

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.
separators Passed to json.dump; key-value pairs delimiters defined as (item_separator, key_separators) tuple. Note that any non-standard operators (':', ',') will cause read_json to fail.
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.