### 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_
message = req_data["Message"][0]
    protocol = subscriber["Protocol"]
    if six.PY2 and type(message).__name__ == "unicode":
        
        message = message.encode("raw-unicode-escape")
    if req_data.get("MessageStructure") == ["json"]:
        message = json.loads(message)
        try:
            message = message.get(protocol, message["default"])
        except KeyError:
            raise Exception("Unable to find 'default' key in message payload")
    if is_raw_message_delivery(subscriber):
        return message
    data = {
        "Type": req_data.get("Type", ["Notification"])[0],
        "MessageId": message_id,
        "TopicArn": subscriber["TopicArn"],
        "Message": message,
        "Timestamp": timestamp_millis(),