转储不写入 JSON 文件 漂亮的打印我已经使用了"indent=4"我添加了 JSON 视图



我试图转换一个字典,我不能序列化为字符串类型,并将其写入json文件。但是,当使用dumps方法时,json文件中不会出现漂亮的打印。

data = ''
for db_name in client.list_database_names():
db = client[db_name]
for coll_name in db.list_collection_names():
data += str("DATABASE NAME: {}, Collection:{}".format(db_name, coll_name))
data = json.dumps(data, default=str)
json.loads(data)
return data
下面是结果:JSON Image

您需要在json.dumps()中使用缩进参数来创建漂亮的效果。

with open('filename.json', 'w') as f:
f.write(json.dumps(data, indent=4)

要使用json.dumps()获得漂亮的打印,您需要包含像indent=4这样的参数。参考这里的文档

更新,在看到图像后:

你在这里的问题是,在你的JSON,DbCollectionName是一个字符串,包含更多的JSON。这是"嵌套json"。您需要对每个字符串调用json.loads()来将它们转换为对象。

最新更新