如何在python中有选择地美化json的某些元素

2024-04-20 07:36:29 发布

您现在位置:Python中文网/ 问答频道 /正文

如何能够有选择地在python中基于密钥美化json文件。例如,虽然我希望它看起来更漂亮,但我希望“DATE”键下的字典折叠成一行以节省空间。你知道吗

{
 "String_entered": "string",
 "DATE": {
    "year":2013,
    "month":null,
    "day":null
   },
}

收件人:

{
 "String_entered": "string",
 "DATE": {"year":2013,"month":null,"day":null},
}

Tags: 文件jsondatestring字典密钥空间year
1条回答
网友
1楼 · 发布于 2024-04-20 07:36:29

一个稍微有点老套的解决方案是弹出该键,然后将其附加到:

def pretty_avoid(d, k, t):
    v = d.pop(k)
    print(json.dumps(d,indent=t)[:-1]+' '*t+'"'+k+'": '+json.dumps(v)+'\n}')

它产生预期的输出(以d作为dict):

>>> pretty_avoid(d, 'DATE', 4)
{
    "String_entered": "string"
    "DATE": {"year": 2013, "month": null, "day": null}
}

请注意,这确实会修改输入字典,这对您来说可能不是问题,但如果是,您可以使用copy.deepcopy

相关问题 更多 >