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.
{
        if (allow_bools_as_numbers)
        {
            auto not_nullable_first = removeNullable(first);
            auto not_nullable_second = removeNullable(second);
            
            bool bool_type_presents = isBool(not_nullable_first) || isBool(not_nullable_second);
            bool number_type_presents = isNumber(not_nullable_first) || isNumber(not_nullable_second);
            if (bool_type_presents && number_type_presents)
            {
                if (isBool(not_nullable_first))
                    return second;
                return first;
            }
        }
        
        bool object_type_presents = isObject(first) || isObject(second);
        bool map_type_presents = isMap(first) || isMap(second);
        if (object_type_presents && map_type_presents)
        {
            if (isObject(first))
                return first;
            return second;
        }
        
        if (isMap(first) && isMap(second) && !first->equals(*second))
            return std::make_shared<DataTypeObject>("json", true);
        return nullptr;
    }
    void writeFieldDelimiter(WriteBuffer & out, size_t new_lines)