# `StarView.JSON`
[🔗](https://github.com/Neophen/star_view/blob/v0.7.0/lib/star_view/json.ex#L1)

Tiny wrapper around Erlang/OTP's native `:json` module.

Erlang represents JSON `null` as the atom `:null`, while Elixir callers expect
`nil`. This module converts `nil` to `:null` before encoding and converts
decoded `:null` values back to `nil`.

# `decode`

```elixir
@spec decode(String.t()) :: {:ok, term()} | {:error, term()}
```

Decodes JSON into Elixir terms.

# `decode!`

```elixir
@spec decode!(String.t()) :: term()
```

Decodes JSON into Elixir terms, raising on invalid JSON.

# `encode!`

```elixir
@spec encode!(term()) :: String.t()
```

Encodes an Elixir term as JSON.

