# `Arrow.Json.Writer`

Emits Arrow integration test JSON form from in-memory `Arrow.Schema` and
`Arrow.RecordBatch` structs.

The output is a plain Elixir map / list shape suitable for `Jason.encode/1`.
Numeric types whose range can exceed JSON's 2^53 limit (Int64, UInt64,
Date64, Timestamp) are written as decimal strings, matching the reference
C++ writer. Binary columns are written as uppercase hex strings.

# `write`

```elixir
@spec write(
  Arrow.Schema.t(),
  [Arrow.RecordBatch.t()],
  %{optional(non_neg_integer()) =&gt; Arrow.Array.t()}
) :: map()
```

Converts a schema + batches (+ optional dictionaries registry) into
the JSON-form map.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
