title: json.loads() is returning a unicode object instead of a dictionary
body: <p>I'm reading in json from a file on a remote server using fabric:</p>
  
  <pre><code>from StringIO import StringIO
  
  output = StringIO()
  get(file_name, output)
  
  output = output.getvalue()
  </code></pre>
  
  <p>The value of <code>output</code> is now:</p>
  
  <p><code>'"{\\n    \\"status\\": \\"failed\\", \\n    \\"reason\\": \\"Record already 
  exists.\\"\\n}"'</code></p>
  
  <p>When I try to parse this string to a dictionary using <code>json.loads(output)</code> its returns the unicode object <code>u'{\n    "status": "failed", \n    "reason": "Record already exists."\n}'</code> rather than a dictionary.</p>
  
  <p>I've come up with a fairly bad fix, just passing the new unicode object back into json.loads():</p>
  
  <p><code>json.loads(json.loads(output))</code></p>
  
  <p>Is there any way other solution to this?</p>
  
  <p>Cheers</p>