如何根据键选择性地在python中对json文件进行美化处理。例如,虽然我希望它通常被美化,但我希望在“DATE”键下的词典折叠成一行以节省空间。
{
"String_entered": "string",
"DATE": {
"year":2013,
"month":null,
"day":null
},
}
要:
{
"String_entered": "string",
"DATE": {"year":2013,"month":null,"day":null},
}
答案 0 :(得分:0)
一个稍微狡猾的解决方案是弹出该密钥,然后将其追加:
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
。