将 dict 保存为 JSON,以便它们是人类可读的 [重复]

Posted

技术标签:

【中文标题】将 dict 保存为 JSON,以便它们是人类可读的 [重复]【英文标题】:Saving dict as JSON so that they are human readable [duplicate] 【发布时间】:2016-07-02 20:24:48 【问题描述】:

使用 json.dump 保存 dict 时,它只有一行。我想让它成为一种人类可读的格式,就像这个网站一样 - https://jsonformatter.curiousconcept.com

如何在 python 中做到这一点?我试图捕获pprint 输出,但存储 JSON 的字符串无效。

具体来说,有没有一种可接受的默认方式可以直接在 python 中执行此操作?

【问题讨论】:

docs.python.org/2/library/json.html ***.com/questions/12943819/… ***.com/questions/352098/how-can-i-pretty-print-json 我使用:json.dump(args_data, argsfile, indent=4) 【参考方案1】:

您应该在json module 中使用indentseparators 参数。从那里的文档:

>>> import json
>>> print json.dumps('4': 5, '6': 7, sort_keys=True,
...                  indent=4, separators=(',', ': '))

    "4": 5,
    "6": 7

【讨论】:

为什么你的值是 4 而不是其他值? @CharlieParker 这是一个通用值(缩进 4 个空格)。如果需要,您可以将其设置为其他值。 为什么需要separators=(',', ': ') 我最终使用了:json.dump(args_data, argsfile, indent=4)

以上是关于将 dict 保存为 JSON,以便它们是人类可读的 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何以 json 格式(双引号)漂亮地打印(人类可读的打印)Python dict? [复制]

将类对象列表保存到 JSON 文件中,以便以后读取

人类可读的 JSON:又名在 json 转储中添加空格和中断

如何使用人类可读的日期格式将BSON转换为JSON

将人类可读的日期从 Epoch 转换为变量

python 使用条带python api获取条带计划并序列化为dicts,以便它们可以作为json返回