Python - 将dict转储为json字符串

时间:2013-05-21 11:07:51

标签: python json

我错过了什么?我想将字典转储为json字符串。

我正在使用python 2.7

使用此代码:

import json
fu = {'a':'b'}
output = json.dump(fu)

我收到以下错误:

Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/gevent-1.0b2-py2.7-linux-x86_64.egg/gevent/greenlet.py", line 328, in run
    result = self._run(*self.args, **self.kwargs)
  File "/home/ubuntu/workspace/bitmagister-api/mab.py", line 117, in mabLoop
    output = json.dump(fu)
TypeError: dump() takes at least 2 arguments (1 given)
<Greenlet at 0x7f4f3d6eec30: mabLoop> failed with TypeError

4 个答案:

答案 0 :(得分:51)

使用json.dumps转储str

>>> import json
>>> json.dumps({'a':'b'})
'{"a": "b"}'

json.dump转储到文件

答案 1 :(得分:10)

我认为问题是json.dump。试试

json.dumps(fu)

答案 2 :(得分:1)

您可以使用json.dumps

示例:

import json

json.dumps({'zuckerberg':'tech','sachin':'cricket'})

输出:

'{"zuckerberg": "tech", "sachin": "cricket"}'

如果要对键进行排序,请使用sort_keys作为json.dumps的第二个参数:

json.dumps({'zuckerberg':'tech','sachin':'cricket'},sort_keys=True)

输出:

'{"sachin": "cricket", "zuckerberg": "tech"}'

答案 3 :(得分:0)

message={"message":"Done", "result":"1"}
message_json = simplejson.dumps(message)
payload = message_json

##or 
message={"message":"Done", "result":"1"}
message_json=jsonify(message)