序列化与反序列化(重点难点)

系列化与反序列化定义:

序列化:在Python中,序列化指的是把python的对象编码成为json格式的字符串。

反序列化:把json格式字符串解码为Python数据对象。

注意:在Python中,把内置数据结构如元素,字典,列表进行序列化处理后,类型为str,而经过发序列化处理后,数据类型依然是列表和字典(元组经过序列化和反序列化后数据类型是字典,不再是元素

 

在json库中,反序列化和序列化的处理分为两部分,一部分是对具体列表数据的处理,另外一部分是对文件内容的处理。

具体列表数据的处理,代码如下:

import json
list1=[1,2,3,4,5]
print("\n对列表进行序列化与反序列化处理:")

print("列表为序列化之前的数据类型:",type(list1))
#对列表1进行序列化处理
list_str = json.dumps(list1)
print('列表序列化后的内容:{0}和类型{1}',format(list_str,type(list_str)))

#d对字符串进行反序列化处理
str_list=json.loads(list_str)
print("字符串list_str反序列化后的内容:{0}和类型(1)",format(str_list,type(str_list)))

只是一个例子,字典同理,需要注意的是元祖转换后是字典。

 

对对文件的处理:

序列化的郭晨是把数据存储到文件的过程,反序列化的过程是读取文件里面的内容。

import requests
import json
def login():
    querystring = {"wd":"selenium"}
    r = requests.get(url="https://www.baidu.com/s",params=querystring)
    #把服务端的数据存储到文件json.md中。
    json.dump(r.json(),open('json.md','w'))
login()

 

实战对,拉勾网自动化测试岗位进行筛选。

代码如下:

 

你可能感兴趣的:(序列化与反序列化(重点难点))