python中json.dump() 和 json.dumps() 有那些区别?

python json.dumps() json.dump()的区别

首先说明基本功能:

1.json.dumps() 是将 dict转化成str格式
下面演示如何将一个Python数据结构转换为JSON:

import json

data = {
   'name' : 'ACME',
   'shares' : 100,
   'price' : 542.23
}

json_str = json.dumps(data)

2.json.loads() 是将 str转化成dict格式

dict = {'a': 'wo', 'b': 'zai', 'c': 'zhe', 'd': 'li'}
dumps = json.dumps(dict)
loads = json.loads(dumps)

print(dict)
print(dumps)
print(loads)

print(type(dict))
print(type(dumps))
print(type(loads))

运行结果
{‘a’: ‘wo’, ‘b’: ‘zai’, ‘c’: ‘zhe’, ‘d’: ‘li’}
{“a”: “wo”, “b”: “zai”, “c”: “zhe”, “d”: “li”}
{‘a’: ‘wo’, ‘b’: ‘zai’, ‘c’: ‘zhe’, ‘d’: ‘li’}
<class ‘dict’>
<class ‘str’>
<class ‘dict’>
3.json.dump() 是将 dict类型的数据转成str,并写入到json文件中

dict = {'a': 'wo', 'b': 'zai', 'c': 'zhe', 'd': 'li'} 
json.dump(dict,open(r'C:\Users\zy\Documents\GitHub\python3\searchTest\json.json','w'))

在这里插入图片描述
4.json.load() 是从 json文件中读取数据

filename = (r'C:\Users\zy\Documents\GitHub\python3\searchTest\json.json')
jsObj = json.load(open(filename))
print(jsObj)
print(type(jsObj))

运行结果
{‘a’: ‘wo’, ‘b’: ‘zai’, ‘c’: ‘zhe’, ‘d’: ‘li’}
<class ‘dict’>

json 模块提供了一种很简单的方式来编码和解码JSON数据。 其中两个主要的函数是 json.dumps() 和 json.loads() , 要比其他序列化函数库如pickle的接口少得多。

下面演示如何将一个JSON编码的字符串转换回一个Python数据结构:

data = json.loads(json_str)

如果你要处理的是文件而不是字符串,你可以使用 json.dump() 和 json.load() 来编码和解码JSON数据。例如:

with open('data.json', 'w') as f:
    json.dump(data, f)

# Reading data back
with open('data.json', 'r') as f:
    data = json.load(f)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值