# `ExAws.Operation.JSON`
[🔗](https://github.com/ex-aws/ex_aws/blob/v2.7.0/lib/ex_aws/operation/json.ex#L1)

Datastructure representing an operation on a JSON based AWS service.

This module is generally not used directly, but rather is constructed by one
of the relevant AWS services.

These include:
- DynamoDB
- Kinesis
- Lambda (Rest style)
- ElasticTranscoder

JSON services are generally pretty simple. You just need to populate the `data`
attribute with whatever request body parameters need converted to JSON, and set
any service specific headers.

The `before_request`

# `t`

```elixir
@type t() :: %ExAws.Operation.JSON{
  before_request: term(),
  data: term(),
  error_parser: term(),
  headers: term(),
  http_method: term(),
  params: term(),
  parser: term(),
  path: term(),
  service: term(),
  stream_builder: term()
}
```

# `new`

---

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