字典和json字符串(本质也是字符串)之间的转化用json.dumps和json.loads()
json.dumps(): 字典→json字符串
json.loads(): json字符串→字典
import json
a = {
'name':'xiaoming','age':18}
print(a)
print(type(a))
b = json.dumps(a)
print(b)
print(type(b))
c = json.loads(b)
print(c)
print(type(c))
{
'name': 'xiaoming', 'age': 18}
<class 'dict'>
{
"name": "xiaoming", "age": 18}
<class 'str'>
{
'name': 'xiaoming', 'age': 18}
<class 'dict'>
字符串和bytes之间的转化用encode()和decode()
encode(): 字符串→bytes
decode(): bytes→字符串
import json
a = {
'name':'xiaoming','age':18}
print(a)
print(type(a))
b = json.dumps(a).encode()
print(b)
print(type(b))
c = json.loads(b)
print(c)
print(type(c))
{
'name': 'xiaoming', 'age': 18}
<class 'dict'>
b'{"name": "xiaoming", "age": 18}'
<class 'bytes'>
{
'name': 'xiaoming', 'age': 18}
<class 'dict'>
所以这三种类型的数据可以通过字符串这个中间量进行转化,达到字典和字节串的互相转化。
例如注册页面,前端通过post方式向后端发送请求,后端从request.body里拿数据,这里拿到的数据本质类型是bytes数据。
python3.6.8的可以直接用json.loads()把字节串直接转为字典,再从字典里拿对应的信息
python3.5.2就不行,必须要把字节串先转为字符串,再才能字符串变为字典