title: row_to_json and psycopg2.fetchall() results are lists within a list instead of dictionaries in a list
body: <p>I use Postgres' row_to_json() function to retrieve data as json objects in order to work with the result like with a python dictionary.</p>
  
  <pre><code>conn = psycopg2.connect("&lt;My_DB_DSN&gt;")
  cur = conn.cursor(cursor_factory=psycopg2.extras.DictCursor)
  query_sql = "SELECT row_to_json(row) FROM (SELECT id, name FROM products) row;" 
  cur.execute(query_sql)
  results = cur.fetchall()
  print(results)
  </code></pre>
  
  <p>This results to:</p>
  
  <pre><code> [ [{"id": 1, "name": "Bob"}],
     [{"id": 2, "name": "Susan"}]
   ]
  </code></pre>
  
  <p>I was expecting this result:</p>
  
  <pre><code> [ {"id": 1, "name": "Bob"},
     {"id": 2, "name": "Susan"}
   ]
  </code></pre>
  
  <p>Any idea why I get the first result and how can I fix this?</p>
  
  <p>Running the SQL query in postgres' command line will return the json as expected:</p>
  
  <pre><code>{"id": 1, "name": "Bob"},
  {"id": 2, "name": "Susan"}
  </code></pre>