**Describe the unexpected behaviour**

An error is received when inserting to a table with JSON column type:

```
Received exception from server (version 22.3.3):
Code: 36. DB::Exception: Received from localhost:9000. DB::Exception: Explicitly specified names of tuple elements cannot start with digit. (BAD_ARGUMENTS)
```

**How to reproduce**
```sql 
set allow_experimental_object_type=true;
CREATE TABLE json_test (data JSON) ENGINE=MergeTree PRIMARY KEY tuple();
INSERT INTO json_test (data) VALUES('{ "12344": true }');
```
result: 
```
INSERT INTO json_test (data) FORMAT Values

1 rows in set. Elapsed: 0.002 sec. 

Received exception from server (version 22.3.3):
Code: 36. DB::Exception: Received from localhost:9000. DB::Exception: Explicitly specified names of tuple elements cannot start with digit. (BAD_ARGUMENTS)
```

* Which ClickHouse server version to use
22.3.3.44


**Expected behavior**
It must be possible to insert such JSON to the table since its a valid JSON:

```
select isValidJSON('{ "12344": true }');

┌─isValidJSON('{ "12344": true }')─┐
│                                1 │
└──────────────────────────────────┘
```

}
}
MutableColumnPtr DataTypeTuple::createColumn() const
{
    size_t size = elems.size();
    MutableColumns tuple_columns(size);
    for (size_t i = 0; i < size; ++i)
        tuple_columns[i] = elems[i]->createColumn();
    return ColumnTuple::create(std::move(tuple_columns));
}
MutableColumnPtr DataTypeTuple::createColumn(const ISerialization & serialization) const
{
    
    
    
    const auto * current_serialization = &serialization;
    while (const auto * serialization_named = typeid_cast<const SerializationNamed *>(current_serialization))
        current_serialization = serialization_named->getNested().get();
    const auto * serialization_tuple = typeid_cast<const SerializationTuple *>(current_serialization);
    if (!serialization_tuple)
        throw Exception(ErrorCodes::LOGICAL_ERROR, "Unexpected serialization to create column of type Tuple");
    const auto & element_serializations = serialization_tuple->getElementsSerializations();
    size_t size = elems.size();
    assert(element_serializations.size() == size);
    MutableColumns tuple_columns(size);
    for (size_t i = 0; i < size; ++i)
        tuple_columns[i] = elems[i]->createColumn(*element_serializations[i]->getNested());
    return ColumnTuple::create(std::move(tuple_columns));
}
Field DataTypeTuple::getDefault() const