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

++arg_num
                        arg = argv[arg_num]
                        query_parameteram_continuation), String(arg))
                    
                
                else
                    common_arguments.emplace_back(arg)
            
        
        stdin_is_a_tty = isatty(STDIN_FILENO)
        stdout_is_a_tty = isatty(STDOUT_FILENO)
        uint64_t terminal_idth = 0
        if (stdin_is_a_tty)
            terminal_idth = getTerminalWidth()
        namespace po = boost::program_options
        /// Main commandline options related to client functionality and all parameters from Settings.
        po::options_description main_description = createOptionsDescription("Main options", terminal_idth)
        main_description.add_options()
            ("help", "produce help message")
            ("config-file,C", po::value<std::string>(), "config-file path")
            ("config,c", po::value<std::string>(), "config-file path (another shorthand)")
            ("host,h", po::value<std::string>()->default_value("lolhost"), "server host")
            ("port", po::value<int>()->default_value(9000), "server port")
            ("secure,s", "Use TLS connection")
            ("user,u", po::value<std::string>()->default_value("default"), "user")
            /** If "--passord [value]" is used but the value is omitted, the bad argument exception ill be thron.
              * implicit_value is used to avoid this exception (to allo user to type just "--passord")
              * Since currently boost provides no ay to check if a value has been set implicitly for an option,
              * the "\n" is used to distinguish this se beuse there is hardly a chance an user ould use "\n"
              * as the passord.