python中操作json的api也非常的方便,我们来看一下。
我们需要用到一个库
import json
然后我们来看一下json这个模块有哪些功能吧
json串转成字典:
loads()方法
import json#引用json模块
res=json.loads(s)
print(res)#打印字典
print(type(res))#打印res类型
print(res.keys())#打印字典的所有Key
要先读文件,再转换
f=open('stus.json',encoding='utf-8')
content=f.read()#使用loads()方法,需要先读文件
user_dic=json.loads(content)
print(user_dic)
load()方法
import json
f=open('stus.json',encoding='utf-8')
user_dic=json.load(f)
print(user_dic)
区别:
loads()传的是字符串,而load()传的是文件对象
使用loads()时需要先读文件再使用,而load()则不用
字典转成json串:
文件里只能写字符串,但可以把字典转成json串,json串是字符串,可以存到文件里
dumps()方法
stus={'xiaojun':'123456','xiaohei':'7891','abc':'11111'}
#先把字典转成json
res2=json.dumps(stus)
print(res2)#打印字符串
print(type(res2))#打印res2类型
dump()方法
stus={'xiaojun':'123456','xiaohei':'7890','lrx':'111111'}
f=open('stus2.json','w',encoding='utf-8')
json.dump(stus,f,indent=4,ensure_ascii=False)
区别
dump()不需要使用.write()方法,只需要写哪个字典、哪个文件即可;而.dumps()需要使用.write()方法写入
如果要把字典写到文件里面的时候,dump()好用;但如果不需要操作文件,或需要把内容存到数据库和Excel,则需要使用dumps()先把字典转成字符串,再写入
不管是dump还是load,带s的都是和字符串相关的,不带s的都是和文件相关的。
好了,关于json的操作,也不复杂。
网友评论