title: JSON TypeError: expected string or buffer
body: <p>I'm trying to store an exception error to json. Even though I'm pretty sure I'm storing a string, it's still giving me a typeerror. </p>
  
  <p>Relevant section of code: </p>
  
  <pre><code>except ConnectionError as e:
          s = str(e)
          print type(s)
          data = json.loads({'error message': s})
          print "JSON load succeeded" 
  </code></pre>
  
  <p>Traceback:</p>
  
  <pre><code>&lt;type 'str'&gt;
  
  Traceback (most recent call last):
    File "[REDACTED]", line 36, in &lt;module&gt;
      ping(SERVERS)
    File "[REDACTED]", line 29, in ping
      data = json.loads({'error message': s})
    File "C:\Python27\Lib\json\__init__.py", line 339, in loads
      return _default_decoder.decode(s)
    File "C:\Python27\Lib\json\decoder.py", line 364, in decode
      obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  TypeError: expected string or buffer
  </code></pre>
  
  <p>This is quite baffling to me. I'd appreciate any help with this matter.</p>