Python - 将 dict 转储为 json 字符串
Posted
技术标签:
【中文标题】Python - 将 dict 转储为 json 字符串【英文标题】:Python - dump dict as a json string 【发布时间】:2013-05-16 03:10:14 【问题描述】:我错过了什么?我想将字典转储为 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
【问题讨论】:
@kampu 一些研究失败但不是严重,在函数调用中遗漏一个字母没什么大不了的,也许只是一个意外。根据 SO 指南显示尝试和错误,因此它遵循站点格式。 我的“研究”把我带到了这里,所以这不是一个毫无意义的问题。最好他在这里提问并回答 10,825 名观众的问题,而不是让他们想知道从哪里开始寻找问题。这就是为什么 *** 是一回事。 RTFM 实际上很困难,而且往往不够。 Converting Dictionary to JSON in python的可能重复 【参考方案1】:使用json.dumps
转储str
>>> import json
>>> json.dumps('a':'b')
'"a": "b"'
json.dump
转储到文件
【讨论】:
【参考方案2】:我认为问题在于 json.dump。试试
json.dumps(fu)
【讨论】:
【参考方案3】:您可以使用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"'
【讨论】:
感谢 Drenmi 格式化,是 *** 的新手,下次回答时我会改进【参考方案4】:message="message":"Done", "result":"1"
message_json = simplejson.dumps(message)
payload = message_json
##or
message="message":"Done", "result":"1"
message_json=jsonify(message)
【讨论】:
虽然这段代码可以解决问题,但including an explanation 确实有助于提高帖子的质量。以上是关于Python - 将 dict 转储为 json 字符串的主要内容,如果未能解决你的问题,请参考以下文章