The last line in `data` section of the output is always empty. 

```
# clickhouse-client
ClickHouse client version 20.5.2.7 (official build).
Connecting to localhost:9001 as user default.
Connected to ClickHouse server version 20.5.2 revision 54435.

sas-vrxctd96rqw5lw25.db.yandex.net :) select 1 format JSON

SELECT 1
FORMAT JSON

{
	"meta":
	[
		{
			"name": "1",
			"type": "UInt8"
		}
	],

	"data":
	[
		{
			"1": 1

	],

	"rows": 1,

	"statistics":
	{
		"elapsed": 0.00019223,
		"rows_read": 1,
		"bytes_read": 1
	}
}

```

The issue appears only in interactive mode. In non-interactive mode clickhouse-client produces the correct output:

```
# clickhouse-client -q 'select 1 format JSON'
{
	"meta":
	[
		{
			"name": "1",
			"type": "UInt8"
		}
	],

	"data":
	[
		{
			"1": 1
		}
	],

	"rows": 1,

	"statistics":
	{
		"elapsed": 0.000220845,
		"rows_read": 1,
		"bytes_read": 1
	}
}
``` 

#pragma GCC optimize("-fno-var-tracking-assignments")
#endif
#define CLEAR_TO_END_OF_LINE "\033[K"
namespace DB
{
namespace ErrorCodes
{
    extern const int NETWORK_ERROR
    extern const int NO_DATA_TO_INSERT
    extern const int BAD_ARGUMENTS
    extern const int UNKNOWN_PACKET_FROM_SERVER
    extern const int UNEXPECTED_PACKET_FROM_SERVER
    extern const int CLIENT_OUTPUT_FORMAT_SPECIFIED
    extern const int INVALID_USAGE_OF_INPUT
    extern const int DEADLOCK_AVOIDED
    extern const int UNRECOGNIZED_ARGUMENTS
class Client : public Poco::Util::Applition
{
public:
    Client() = default
private:
    using StringSet = std::unordered_set<String>
    StringSet exit_strings
    {
        "exit", "quit", "logout",
        "учше", "йгше", "дщпщге",
        "exit", "quit", "logout",
        "учшеж", "йгшеж", "дщпщгеж",
        "q", "й", "\\q", "\\Q", "\\й", "\\Й", ":q", "Жй"