我正在尝试将异常错误存储到json。虽然我很确定我正在存储一个字符串,但它仍然给我一个类型错误。
相关的代码部分:
except ConnectionError as e:
s = str(e)
print type(s)
data = json.loads({'error message': s})
print "JSON load succeeded"
回溯:
<type 'str'>
Traceback (most recent call last):
File "[REDACTED]", line 36, in <module>
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
这对我来说非常困惑。我很感激这件事有任何帮助。
答案 0 :(得分:2)
您正在寻找json.dumps()
,而不是json.loads()
。试试这个:
data = json.dumps({'error message': s})
json.dumps(obj)
:将obj
序列化为格式为str
的JSON
json.loads(s)
:将s(包含JSON文档的str
实例)反序列化为Python对象