### Is there an existing issue for this?

- [X] I have searched the existing issues

### Current Behavior

PutMetricData with arrays of values does not work properly. Zero values seem to be published. PutMetricData with a single value works as expected. This happens to both CLI and SDK.

### Expected Behavior

PutMetricData with arrays of values should work as publishing a single value.

### How are you starting LocalStack?

With a `docker run` command

### Steps To Reproduce

#### How are you starting localstack (e.g., `bin/localstack` command, arguments, or `docker-compose.yml`)

    docker run localstack/localstack:1.2.0

#### Client commands (e.g., AWS SDK code snippet, or sequence of "awslocal" commands)
```
awslocal cloudwatch put-metric-data --namespace test --metric-data MetricName=TestCounter,Values=10,1,Counts=1,1
awslocal cloudwatch get-metric-statistics --namespace test --metric-name TestCounter --statistics Maximum --period 60 --start-time 2022-11-9T00:00:00Z --end-time 2022-11-11T00:00:00Z
{
    "Label": "TestCounter",
    "Datapoints": [
        {
            "Timestamp": "2022-11-09T23:25:10+00:00",
            "Maximum": 0.0,
            "ExtendedStatistics": {}
        },
        {
            "Timestamp": "2022-11-09T23:27:10+00:00",
            "Maximum": 0.0,
            "ExtendedStatistics": {}
        }
    ]
}
```



### Environment

```markdown
- OS: Mac Monterey
- LocalStack: 1.2.0
```


### Anything else?

_No response_
metric_name = "test-metric"
        namespace = "namespace"
        data = (
            "Action=PutMetricData&MetricData.member.1."
            "MetricName=%s&MetricData.member.1.Value=1&"
            "Namespace=%s&Version=2010-08-01" % (metric_name, namespace)
        )
        bytes_data = bytes(data, encoding="utf-8")
        encoded_data = gzip.compress(bytes_data)
        url = config.get_edge_url()
        headers = aws_stack.mock_aws_request_headers("cloudwatch", internal=True)
        authorization = aws_stack.mock_aws_request_headers("monitoring")["Authorization"]
        headers.update(
            {
                "Content-Type": "application/x-www-form-urlencoded; charset=utf-8",
                "Content-Length": len(encoded_data),
                "Content-Encoding": "GZIP",
                "User-Agent": "aws-sdk-nodejs/2.819.0 linux/v12.18.2 callback",
                "Authorization": authorization,
            }
        )
        request = Request(url, encoded_data, headers, method="POST")
        urlopen(request)
        rs = cloudwatch_client.list_metrics(Namespace=namespace, MetricName=metric_name)
        assert 1 == len(rs["Metrics"])
        assert namespace == rs["Metrics"][0]["Namespace"]
    def test_get_metric_data(self, cloudwatch_client):