Python | 一文简单搞懂json.dump()与json.dumps()的区别
·
json.dump()
和 json.dumps()
都可以将 Python 对象转换为 JSON 字符串,但是它们之间有一些区别:
-
json.dumps()
将 Python 对象转换为 JSON 字符串,并返回该字符串。而json.dump()
将 Python 对象转换为 JSON 字符串,并将该字符串写入文件。 -
json.dumps()
接受一个 Python 对象作为参数,而json.dump()
接受两个参数:一个 Python 对象和一个写入数据的文件对象。 -
json.dump()
生成的 JSON 字符串会自动写入文件,而json.dumps()
只是返回该字符串,需要手动进行处理。
例如,假设我们有一个名为 data.json
的文件,内容如下:
{
"name": "John",
"age": 30,
"city": "New York"
}
如果要将 Python 对象写入文件,可以使用以下代码:
import json
# 定义 Python 对象
data = {
"name": "John",
"age": 30,
"city": "New York"
}
# 打开文件并将 Python 对象写入文件
with open('data.json', 'w') as f:
json.dump(data, f)
上面的代码使用 open()
函数打开文件,并将其作为参数传递给 json.dump()
函数,该函数将 Python 对象转换为 JSON 字符串,并将其写入文件中。
如果要将 Python 对象转换为 JSON 字符串,可以使用以下代码:
import json
# 定义 Python 对象
data = {
"name": "John",
"age": 30,
"city": "New York"
}
# 将 Python 对象转换为 JSON 字符串
json_str = json.dumps(data)
# 打印 JSON 字符串
print(json_str)
上面的代码将 Python 对象作为参数传递给 json.dumps()
函数,并将返回的 JSON 字符串赋值给 json_str
变量。最后,使用 print()
函数打印 json_str
。
需要注意的是,使用 json.dumps()
生成 JSON 字符串时,需要确保 Python 对象中的所有数据都可以被正确地序列化为 JSON 数据类型,否则会抛出 TypeError
异常。
更多推荐
已为社区贡献3条内容
所有评论(0)