JSON模块

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会执行失败

JSON模块_第1张图片

 2、字符串转化为字典,括号内的引号要是双引号,单引号会报错

JSON模块_第2张图片

 JSON模块_第3张图片

 但是使用eval将字符串转化为字典却没有上面两个的限制(双引号和关键词)

JSON模块_第4张图片

 

你可能感兴趣的:(python,json,前端,python)