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.

无需控制台即可使用 DynamoDB

DynoTable 是面向 DynamoDB 的快速桌面客户端 —— 浏览表、运行 SQL 风格的查询,并在本地编辑项。