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.
{
        return fileSegmentationEngineJSONEachRowImpl<'{', '}'>(in, memory, min_chunk_size, 1);
    }
    std::pair<bool, size_t>
    fileSegmentationEngineJSONCompactEachRow(ReadBuffer & in, DB::Memory<> & memory, size_t min_chunk_size, size_t min_rows)
    {
        return fileSegmentationEngineJSONEachRowImpl<'[', ']'>(in, memory, min_chunk_size, min_rows);
    }
    struct JSONEachRowFieldsExtractor
    {
        template <class Element>
        std::vector<Element> extract(const Element & element)
        {
            
            if (!element.isObject())
                throw Exception(ErrorCodes::INCORRECT_DATA, "Root JSON value is not an object");
            auto object = element.getObject();
            std::vector<Element> fields;
            fields.reserve(object.size());
            column_names.reserve(object.size());
            for (const auto & key_value_pair : object)
            {
                column_names.emplace_back(key_value_pair.first);
                fields.push_back(key_value_pair.second);
            }
            return fields;
        }
        std::vector<String> column_names;
    };
    NamesAndTypesList readRowAndGetNamesAndDataTypesForJSONEachRow(ReadBuffer & in, bool json_strings)