我试图转换一个字典,我不能序列化为字符串类型,并将其写入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()
来将它们转换为对象。