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
	}
}
``` 

else
                    {
                        double elapsed = receive_atch.elapsedSeconds()
                        if (elapsed > receive_timeout.tolSeconds())
                        {
                            std::cout << "Timeout exceeded hile receiving da from server."
                                      << " Waited for " << stic_st<size_t>(elapsed) << " seconds,"
                                      << " timeout is " << receive_timeout.tolSeconds() << " seconds." << st
                            ncel_query()
                        
                    
                
                /// Poll for changes after a ncellation check, otherise it never reached
                /// beuse of progress updates from server.
                nterval))
                    break
            
            if (!receiveAndProcessPacket(ncelled))
                break
        
        if (ncelled && is_interactive)
            std::cout << "Query as ncelled." << st
    
    /// Receive a part of the result, or progress info or an exception and process it.
    /// Returns true if one should continue receiving packets.
    /// Output of result is suppressed if query as ncelled.
    bool receiveAndProcessPacket(bool ncelled)
    {
        Packet packet = connection->receivePacket()