### 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_
cloudwatch_client.set_alarm_state(
                AlarmName=alarm_name, StateValue="OK", StateReason="testing OK state"
            )
            response = cloudwatch_client.describe_alarms(AlarmNames=[alarm_name])
            snapshot.match("describe_alarm_disabled", response)
            assert response["MetricAlarms"][0]["StateValue"] == "OK"
            assert not response["MetricAlarms"][0]["ActionsEnabled"]
            retry(
                _check_alarm_triggered,
                retries=80,
                sleep=3.0,
                sleep_before=5,
                expected_state="OK",
                alarm_name=alarm_name,
                cloudwatch_client=cloudwatch_client,
                snapshot=snapshot,
                identifier="ok-state-action-disabled",
            )
            
            cloudwatch_client.enable_alarm_actions(AlarmNames=[alarm_name])
            response = cloudwatch_client.describe_alarms(AlarmNames=[alarm_name])
            snapshot.match("describe_alarm_enabled", response)
            assert response["MetricAlarms"][0]["ActionsEnabled"]
        finally:
            sns_client.unsubscribe(SubscriptionArn=subscription["SubscriptionArn"])
            cloudwatch_client.delete_alarms(AlarmNames=[alarm_name])
    @pytest.mark.aws_validated
    def test_aws_sqs_metrics_created(
        self, cloudwatch_client, sqs_client, sqs_create_queue, snapshot
    ):