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}
-
- # 后端传递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": "蟒蛇"}
- 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将字符串转化为字典却没有上面两个的限制(双引号和关键词)
