python中json.dumps和json.dump区别
作者:frostjsy
json.dumps将Python对象序列化为JSON字符串,json.dump直接将Python对象序列化写入文件,本文就来介绍一下两个的使用及区别,具有一定的参考价值,感兴趣的可以了解一下
1、json.dumps和json.dump的区别
json.dumps() 是将 Python 对象序列化为 JSON 格式的字符串。如果你想将 JSON 数据写入文件,可以将 json.dumps() 生成的字符串写入文件,或者更直接地使用 json.dump() 函数,它会直接将 Python 对象序列化写入文件。
下面是两个方法,一是使用 json.dumps() 然后写入文件,二是使用 json.dump() 直接写入文件。
2、使用 json.dumps() 然后写入文件
import json
data = {"name": "Alice", "age": 30, "is_student": False}
# 序列化为 JSON 字符串
json_str = json.dumps(data, indent=4)
# 将 JSON 字符串写入文件
with open('output.json', 'w', encoding='utf-8') as file:
file.write(json_str)
3、使用 json.dump() 直接写入文件
import json
data = {"name": "Alice", "age": 30, "is_student": False}
# 直接将 JSON 数据写入文件
with open('output.json', 'w', encoding='utf-8') as file:
json.dump(data, file, indent=4)
4、json.dump() 参数
fp:文件对象,表示要写入的文件。indent:指定缩进层级,使得结果更具可读性。如果为None,则紧凑输出;如果为整数,表示每层缩进的空格数;如果为字符串,则用于每层的缩进。ensure_ascii:如果为True,所有非 ASCII 字符将会被转义为\uXXXX形式。默认值为True。sort_keys:布尔值,表示是否对字典的key按字母顺序排序。separators:元组,指定项目分隔符和键值分隔符。
import json
data = {"name": "Alice", "age": 30, "languages": ["English", "French"], "is_student": False}
with open('output.json', 'w', encoding='utf-8') as file:
json.dump(data, file, indent=4, ensure_ascii=False, sort_keys=True)
json.dumps() 的参数可见博客json.dumps的参数
到此这篇关于python中json.dumps和json.dump区别的文章就介绍到这了,更多相关python json.dumps和json.dump内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
