Reproducible on 22.7.1 and 22.6.1
**How to reproduce**

SELECT 1 AS `\\"ph"`
FORMAT JSON

Query id: 0159c301-b91e-4b59-b8e1-840056d18ffb

```
{
	"meta":
	[
		{
			"name": "\\\\\\\"ph\\\"",
			"type": "UInt8"
		}
	],

	"data":
	[
		{
			"\\\"ph\"": 1
		}

	],

	"rows": 1,

	"statistics":
	{
		"elapsed": 0.000840535,
		"rows_read": 1,
		"bytes_read": 1
	}
}
```
Expected result: column name in meta and data should be the same.
Actual result: They are not.

It used to work on 22.3.15 - Even though it has another issue back then.
DataTypes nested_data_types;
            
            bool is_tuple = false;
            for (const auto element : array)
            {
                auto type = getDataTypeFromFieldImpl(element);
                if (!type)
                    return nullptr;
                if (!nested_data_types.empty() && type->getName() != nested_data_types.back()->getName())
                    is_tuple = true;
                nested_data_types.push_back(std::move(type));
            }
            if (is_tuple)
                return std::make_shared<DataTypeTuple>(nested_data_types);
            return std::make_shared<DataTypeArray>(nested_data_types.back());
        }
        if (field.isObject())
        {
            auto object = field.getObject();
            DataTypePtr value_type;
            bool is_object = false;
            for (const auto key_value_pair : object)
            {
                auto type = getDataTypeFromFieldImpl(key_value_pair.second);
                if (!type)
                    continue;
                if (isObject(type))
                {
                    is_object = true;
                    break;