¿Cómo devolver el objeto JSON de DynamoDB con appsync?

¿Cómo puedo obtener un objeto JSON en respuesta de DynamoDB? Almaceno datos en DB como una matriz de objetos en formato JSON. Tengo la próxima solicitud de plantilla de mapeo

{
  "version": "2017-02-28",
  "operation": "PutItem",
  "key": {
  "userId": {
    "S":  "$context.identity.username"
  }
},
  #set( $attrs = $util.dynamodb.toMapValues($ctx.args))
  #set( $attrs.categories = $util.dynamodb.toDynamoDB($ctx.args.categories))

  "attributeValues": $util.toJson($attrs)
}

y respuesta de plantilla de mapeo

#set( $result = $ctx.result)
#set( $result.categories = $util.parseJson($ctx.result.categories))
$util.toJson($result)

pero obtuve respuesta en el formato DynamoDB JSON

"createItem": {
      "title": "Test 1",
       "categories": "[{name=food, id=2}, {name=eat, id=1}]"
    }

in dynamoDB fecha guardar como

"categories": {
    "L": [
      {
        "M": {
          "id": {
            "S": "2"
          },
          "name": {
            "S": "food"
          }
        }
      },
      {
        "M": {
          "id": {
            "S": "1"
          },
          "name": {
            "S": "eat"
          }
        }
      }
    ]
  }

¿Cómo analizarlo a JSON u objeto normal?

Respuestas a la pregunta(1)

Su respuesta a la pregunta