【问题标题】:Python - dump dict as a json stringPython - 将 dict 转储为 json 字符串
【发布时间】: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 名观众的问题,而不是让他们想知道从哪里开始寻找问题。这就是为什么 StackOverflow 是一回事。 RTFM 实际上很困难,而且往往不够。

标签: python json


【解决方案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 格式化,是 stackoverflow 的新手,下次回答时我会改进
      【解决方案4】:

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

      【讨论】:

      猜你喜欢
      • 2011-05-30
      • 2019-03-27
      • 2015-10-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-07-08
      • 2013-05-25
      相关资源
      最近更新 更多