# JsonFileWriter

## class JsonFileWriter(file: IO[str])[source]

Bases: [`FileWriter`](https://dev.nominal.io/instro/ref/library/instro.lib.publishers.files.FileWriter.md#instro.lib.publishers.files.FileWriter "instro.lib.publishers.files.FileWriter")[[`str`](https://docs.python.org/3/builtins/stdtypes.html#str "(in Python v3.15)")]

Write records as one JSON array.

Each write reads the whole file and rewrites it. Content that is not valid JSON is erased.

Wrap the file and write an empty array if the file is empty.

Raises:
:   [**ValueError**](https://docs.python.org/3/builtins/exceptions.html#ValueError "(in Python v3.15)") – If the stream is not writable or is not a text stream.

Attributes

| [`mode`](https://dev.nominal.io/instro/ref/library/instro.lib.publishers.files.JsonFileWriter.md#instro.lib.publishers.files.JsonFileWriter.mode "instro.lib.publishers.files.JsonFileWriter.mode") |  |
| --- | --- |
| [`newline`](https://dev.nominal.io/instro/ref/library/instro.lib.publishers.files.JsonFileWriter.md#instro.lib.publishers.files.JsonFileWriter.newline "instro.lib.publishers.files.JsonFileWriter.newline") |  |

Methods

| [`write`](https://dev.nominal.io/instro/ref/library/instro.lib.publishers.files.JsonFileWriter.md#instro.lib.publishers.files.JsonFileWriter.write "instro.lib.publishers.files.JsonFileWriter.write") | Append data to the JSON array. |
| --- | --- |

### mode: str = 'a+'

### write( data: Measurement | Command, ) → None[source]

Append data to the JSON array.

### newline: str | None = None
