Can DynamoDB store JSON?
Yes. DynamoDB can store JSON by mapping it to its document types: map (M) for objects and list (L) for arrays, nested arbitrarily. Each item holds up to 400 KB. DynamoDB's type system is a superset of JSON, so any JSON document can be stored as an item and then filtered, updated, and read.
How JSON maps to DynamoDB types
- JSON object → Map (M)
- JSON array → List (L)
- string / number / boolean / null → S / N / BOOL / NULL
Lists and maps can nest freely, so a full JSON document becomes one item.
The one caveat
DynamoDB's types are a superset of JSON's. Binary (B) and Set (SS/NS/BS) attributes have no direct JSON equivalent — sets serialize to arrays and binary to base64 when you convert back to plain JSON.
Working with it
You can operate on nested JSON attributes directly — filter on a map field, update one list element — without rewriting the whole item.
Go deeper
See DynamoDB JSON and marshalling, and convert between plain and DynamoDB JSON with the JSON converter. Download DynoTable to edit JSON items visually.