以下是疑惑了我很久的2个问题,终于得到答案,开心,如果阐述不对,欢迎各位大佬指正~
1.序列化、编码理解
(1)序列化
python对象——>字节(计算机可理解和存储、传输的形式)
eg:python对象(字典)——>json串(字节保存,字符串展示)
json.dumps(dict_type)
反序列
字节——>python对象
eg:json串(字节保存,字符串展示)——>python对象(字典)
json.loads(json串)
(2)编码与解码
编码:人类语言转换为机器语言,反之为解码
编码和解码过程如下:
应用
编码解码:解决展示问题(机器语言和人类语言的矛盾)
通俗点:计算机根据编码表,解码、编码
序列化:解决存储、传输的问题
2.requests库中的json和data参数
定义了content-type,需要结合content-type分析
content-type:json/application,需要传输json串
json参数:会自动将对象转成json串:需要传入字典
data参数:传入json字符串
content-type:application/x-www-form-urlencoded,需要form表单,传输键值对
data参数:字典
如果没有定义content-type类型,会根据 json参数/data参数传入的类型,决定content-type类型
参考