To `JSONEachRow`
{
    if (!allow_new_rows)
        return false;
    skipWhitespaceIfAny(*in);
    
    
    
    
    
    bool is_first_row = getCurrentUnitNumber() == 0 && getTotalRows() == 1;
    if (!in->eof())
    {
        
        if (!is_first_row && *in->position() == ',')
            ++in->position();
        else if (!data_in_square_brackets && *in->position() == ';')
        {
            
            return allow_new_rows = false;
        }
        else if (data_in_square_brackets && *in->position() == ']')
        {
            
            return allow_new_rows = false;
        }
    }
    skipWhitespaceIfAny(*in);
    if (in->eof())
        return false;
    size_t num_columns = columns.size();