### 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_
if method == "OPTIONS":
            return 200
        
        try:
            aws_stack.check_valid_region(headers)
            aws_stack.set_default_region_in_headers(headers)
        except Exception as e:
            return make_error(message=str(e), code=400)
        if method == "POST":
            
            req_data = parse_qs(to_str(data), keep_blank_values=True)
            
            if not req_data:
                parsed_path = urlparse(path)
                req_data = parse_qs(parsed_path.query, keep_blank_values=True)
            req_action = req_data["Action"][0]
            topic_arn = (
                req_data.get("TargetArn") or req_data.get("TopicArn") or req_data.get("ResourceArn")
            )
            if topic_arn:
                topic_arn = topic_arn[0]
                topic_arn = aws_stack.fix_account_id_in_arns(topic_arn)
            if req_action == "SetSubscriptionAttributes":
                sub = get_subscription_by_arn(req_data["SubscriptionArn"][0])
                if not sub:
                    return make_error(message="Unable to find subscription for given ARN", code=400)
                attr_name = req_data["AttributeName"][0]
                attr_value = req_data["AttributeValue"][0]
                sub[attr_name] = attr_value