# `TypeSafeSDK.JSON`
[🔗](https://github.com/nshkrdotcom/typesafe_sdk/blob/v0.4.1/lib/typesafe_sdk/json.ex#L1)

JSON normalization for the semantic API, with collision detection and bounded nesting.

Objects accept atom/string keys, but values must be JSON values. Arbitrary structs,
PIDs and functions are rejected. Nothing received from the service is turned into atoms.

# `normalize`

```elixir
@spec normalize(term(), [String.t()]) ::
  {:ok, term()} | {:error, TypeSafeSDK.Error.t()}
```

---

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