肯定有很多人像我这样傻傻分不清楚json_dump和json_dumps的区别、json_load和json_loads 的区别、今天就一次性的学会它!
首先我们来区分下带s和不带s的区别:
这个就很简单了:
1、不带s的都是用在文件下载时或文件提取时
with open('./cookie/hs_cookies.json', 'a+') as fp:
json.dump(hs_cookies,fp)
2、带s的顾名思义就是不需要文件下载的时候使用
hs_cookies = json.load(fp)
是不是很容易理解
然后我们再来分析下json_dump(s)( ) 和json_load(s)( )的区别
json.dump(): 编码,用于将dict类型的数据转成str类型,并写入到json文件
json.load(): 解码,用于从json文件中读取数据
json.dumps():将Python数据结构转换为JSON,即dict类型转成str类型
json.loads():将JSON编码的字符串转换回Python数据结构,即str类型转换成dict类型
是不是非常容易理解了就
接下来上具体的代码看下吧
json.dumps()
import json
data = {
'name' : 'name',
'age' : 20,
}
# 其实就是把python的数据类型转化成json的数据类型嘛
json_str = json.dumps(data,ensure_ascii=False)
json.loads()
import json
# 用dumps()将python编码成json字符串
data = json.dumps(data)
# 用loads将json编码成python
# 其实就是把json的数据类型转化成python的数据类型嘛
print(json.loads(data))
json.dump()
import json
data = {
'name':'name',
'age':20,
}
# 将python编码成json放在那个文件里
# 其实就是把python的数据类型转化成json的数据类型嘛
filename = 'a.txt'
with open (filename,'w') as f:
json.dump(data ,f)
json.load()
import json
data = {
'name':'name',
'age':20
}
filename = 'a.txt'
with open (filename, encoding='utf-8') as f:
print(json.load(f))
好了、借此机会我也算是记住两者的区别了、教学相长