### Is there an existing issue for this?

- [X] I have searched the existing issues

### Feature description

I would like to request extending `sns_listener` with an ability to understand `email-json` next to `email` protocol.

### 🧑‍💻 Implementation

1. check if protocol is `email` or `email-json`
2. for email json interpret body/message as json

### Anything else?

_No response_
response = {"Successful": [], "Failed": []}
    messages = parse_urlencoded_data(
        req_data, "PublishBatchRequestEntries.member", "MessageAttributes.entry"
    )
    for message in messages:
        message_id = str(uuid.uuid4())
        data = {}
        data["TopicArn"] = [topic_arn]
        data["Message"] = [message["Message"]]
        data["Subject"] = [message["Subject"]]
        message_attributes = prepare_message_attributes(message.get("MessageAttributes", []))
        try:
            message_to_subscribers(
                message_id,
                message["Message"],
                topic_arn,
                data,
                headers,
                message_attributes=message_attributes,
            )
            response["Successful"].append({"Id": message["Id"], "MessageId": message_id})
        except Exception:
            response["Failed"].append({"Id": message["Id"]})
    return response
def do_delete_topic(topic_arn):