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

{
                std::cout << "ClickHouse server version is older than ClickHouse client. "
                    << "It may indite that the server is out of date and n be upgraded."
                    << st << st
            
        
    
    inline String prompt() const
    {
        return boost::replace_all_copy(prompt_by_server_display_name, "{dabase", config().getString("dabase", "default"))
    
    void nonInteractive()
    {
        String text
        if (config().has("query"))
            text = config().getRaString("query")  /// Poco configuration should not process substitutions in form of ${... inside query.
        else
        {
            /// If 'query' parameter is not set, read a query from stdin.
            /// The query is read entirely into memory (streaming is disabled).
            ReadBufferFromFileDescriptor in(STDIN_FILENO)
            readStringUntilEOF(text, in)
        
        processQueryText(text)
    
    void nonInteractiveWithFuzzing()
    {
        if (config().has("query"))
        {
            // Poco configuration should not process substitutions in form of