如何保存到 JSON 文件,并将每个键放在不同的行上

ede*_*n.c 6 python json file

当我将数据保存到 JSON 文件时,它将如下所示:

{'Gri33415': ['Griffiths', 2015, 'Gold', 35, 35000], 'Smi22316': ['Smith', 2016, 'Silver', 3, 7500], 'Mia56213': ['Miah', 2013, 'Platinum', 140, 165000]}
Run Code Online (Sandbox Code Playgroud)

我多么希望每个键都位于不同的行,如下所示:

{"Gri33415": ["Griffiths", 2015, "Gold", 35, 40000],
 "Smi22316": ["Smith", 2016, "Silver", 3, 7500],
 "Mia56213": ["Miah", 2013, "Platinum", 140, 165000]}
Run Code Online (Sandbox Code Playgroud)

Oli*_*n04 3

来自官方文档:漂亮的打印

>>> import json
>>> print json.dumps({'4': 5, '6': 7}, sort_keys=True,
...                  indent=4, separators=(',', ': '))
{
    "4": 5,
    "6": 7
}
Run Code Online (Sandbox Code Playgroud)

编辑1
如果您只想为键换行(例如不在每个逗号之后),您可以通过一些聪明的正则表达式技巧来解决这个问题。现场演示

import json
import re

s = json.dumps({'4': 5, '6': [1, 2, 3, 4]}, sort_keys=True)
s = re.sub(r',\s*"', ',\n"', s)
s = '{\n' + s[1:-1] + '\n}' 

print(s)
Run Code Online (Sandbox Code Playgroud)