Python | 一文简单搞懂json.dump()与json.dumps()的区别

json.dump()和json.dumps()都是用于将Python对象转化为JSON字符串,但前者将字符串写入文件,后者直接返回字符串。使用json.dump()需提供文件对象,而json.dumps()则不需。在转化时要注意Python对象的数据类型需兼容JSON。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

json.dump()json.dumps() 都可以将 Python 对象转换为 JSON 字符串,但是它们之间有一些区别:

  1. json.dumps() 将 Python 对象转换为 JSON 字符串,并返回该字符串。而 json.dump() 将 Python 对象转换为 JSON 字符串,并将该字符串写入文件。

  2. json.dumps() 接受一个 Python 对象作为参数,而 json.dump() 接受两个参数:一个 Python 对象和一个写入数据的文件对象。

  3. 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 异常。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值