{
  "slug": "dynamodb-json-converter",
  "name": "gizza-ai/dynamodb-json-converter",
  "version": "0.1.0",
  "title": "DynamoDB JSON Converter — gizza.ai",
  "description": "Convert between DynamoDB typed AttributeValue JSON and plain JSON in both directions, with auto-detect and pretty or compact output.",
  "tags": [
    "dynamodb",
    "json",
    "aws",
    "attributevalue",
    "marshal",
    "unmarshal",
    "converter",
    "developer"
  ],
  "category": "data",
  "urls": {
    "page": "https://gizza.ai/tools/dynamodb-json-converter/",
    "markdown": "https://gizza.ai/tools/dynamodb-json-converter/index.md",
    "descriptor": "https://gizza.ai/tools/dynamodb-json-converter/tool.json",
    "deep_link_example": "https://gizza.ai/tools/dynamodb-json-converter/?input=%7B%22id%22%3A%22user%231%22%2C%22age%22%3A30%2C%22active%22%3Atrue%7D&direction=auto&pretty=true"
  },
  "cli": "gizza tool dynamodb-json-converter '{\"id\":\"user#1\",\"age\":30,\"active\":true}'",
  "tool": {
    "description": "Convert between DynamoDB typed attribute JSON (the AttributeValue wire format like {\"id\":{\"S\":\"1\"},\"age\":{\"N\":\"30\"}}) and plain JSON ({\"id\":\"1\",\"age\":30}) in both directions. direction=auto detects which way to convert; to-dynamodb marshals plain JSON into typed AttributeValues (S, N as a string, BOOL, NULL, L, M); from-dynamodb unmarshals typed JSON back to plain JSON and also handles B (binary as base64) and the set types SS, NS, BS. pretty toggles indented vs compact output. Numbers keep their exact spelling. Errors on invalid JSON or a malformed AttributeValue. Runs locally; no AWS SDK or network.",
    "parameters": {
      "additionalProperties": false,
      "properties": {
        "direction": {
          "default": "auto",
          "description": "auto detects the direction from the input shape; to-dynamodb marshals plain JSON into typed AttributeValues; from-dynamodb unmarshals typed JSON back to plain JSON.",
          "enum": [
            "auto",
            "to-dynamodb",
            "from-dynamodb"
          ],
          "type": "string"
        },
        "input": {
          "description": "The JSON to convert. Either plain JSON (e.g. {\"id\":\"1\",\"age\":30}) or DynamoDB typed JSON (e.g. {\"id\":{\"S\":\"1\"},\"age\":{\"N\":\"30\"}}).",
          "type": "string"
        },
        "pretty": {
          "default": true,
          "description": "Pretty-print (indent) the JSON output. Set false for compact single-line output.",
          "type": "boolean"
        }
      },
      "required": [
        "input"
      ],
      "type": "object"
    }
  }
}