将可读格式的json.dumps写入Python3中的文件[重复]

Posted

技术标签:

【中文标题】将可读格式的json.dumps写入Python3中的文件[重复]【英文标题】:Write json.dumps in readable format to a file in Python3 [duplicate] 【发布时间】:2018-05-16 01:38:30 【问题描述】:

我将 JSON 数据作为字符串(来自json.dumps())存储到文件中。但是复杂的数据对于人类来说是不可读的,因为缺少换行符和缩进。

>>> import json
>>> d = 'one': 1, 'group': [4,9,7]
>>> json.dumps(d)
'"one": 1, "group": [4, 9, 7]'

但字符串应该看起来更像这样。

'one': 1,
 'group': [
           4,
           9,
           7
          ]

我能意识到这一点吗?

【问题讨论】:

你的第二个代码片段甚至不是 JSON。 请阅读the docs,并按照建议提供indent参数。 只是一个例子而已。请更具体地说明如何将其修复为更多 json。 仅供参考:1. JSON 需要在键和字符串值上加上双引号;和 2. 这仍然是重复的,这并没有从 2.x 更改为 3.x。 【参考方案1】:

如果您传递indent 参数,python 中的 json 模块将支持缩进:

import json

d = 'one': 1, 'group': [4,9,7]
print json.dumps(d, indent=4, sort_keys=True)

将输出:

   
        "one": 1,
            "group": [ 
            4, 
            9, 
            7
        ]
    

【讨论】:

This seems familiar.

以上是关于将可读格式的json.dumps写入Python3中的文件[重复]的主要内容,如果未能解决你的问题,请参考以下文章

Python3 json &pickle 数据序列化

python json.dumps() 中文乱码问题

python实现将json数据以json格式写入txt文件

python中json库中的loadloadsdumpdumps的区别与用法

python3接口自动化基础json总结

Python中json.dump()和json.dumps()的区别