dumps:将对象转化为json字符串
loads:将json字符串转化为对象
import json
# 前端传递的json字符串转化为Python中的字段
s = '{"user":"admin","password":123}'
s1 = json.loads(s)
print(s1,type(s1)) # 输出:{'user': 'admin', 'password': 123} <class 'dict'>
# 后端传递Python字典,转化为json字符串
d = {'user':'admin','password':123,'name':'蟒蛇'}
s3 = json.dumps(d,ensure_ascii=False) # 使用ensure_ascii = False 防止中文转化为ascii码
print(s3 ,type(s3)) # 输出:{"user": "admin", "password": 123, "name": "蟒蛇"} <class 'str'>
s4 = json.dumps(d) # 使用ensure_ascii = False 防止中文转化为ascii码
print(s4) # 中文转化为ASCII码:{"user": "admin", "password": 123, "name": "\u87d2\u86c7"}
# 前端JSON和python的字典有什么区别
d = {'isLogin':True, 'QQ':False,'tel':None}
j = json.dumps(d)
print(j)
# 输出:{"isLogin": true, "QQ": false, "tel": null} ,可以看到Python的True,false,None,在Javascript中对应:true,false,null
# 列表也能进行json转化
l = [True,False,None,'泽塔']
j = json.dumps(l,ensure_ascii=False)
print(j) # [true, false, null, "泽塔"]
# 文件操作的dump和load
d = {'节日':'建军节','年龄':18}
json.dump(d,open('202298.txt',mode='w',encoding='utf-8'),ensure_ascii=False)
s = json.load(open('202298.txt',mode='r',encoding='utf-8'))
print(s) # {'节日': '建军节', '年龄': 18}
'''
总结:
1.json是一种数据交互的数据格式
2.来自前端
3.dunps ensure_ascii=False
4.loads
5.dump ensure_ascii=False
6.load
'''
注意
1、字符串转化为字典,字符串如果出现关键字:True,False,bool,None会执行失败
2、字符串转化为字典,括号内的引号要是双引号,单引号会报错
但是使用eval将字符串转化为字典却没有上面两个的限制(双引号和关键词)