python当中的序列化和反序列化
1、含义:
(一般应用于json模块,还有pickle模块、shelve模块)
-------->序列化模块:将原本的字典和列表等内容转化为字符串的过程就叫序列化
------->序列化:将对象转化为字符串
-------->反序列化:将字符串转化为对象
可转化的对象:(如有:数字、字符串、元组、列表、集合不能实现转化)
2、目的:
以某一种形式来存储对象,并且对象由自己定义的形式;
将对象可传输到指定位置,且更好的维护及存储。
3、区别
json.loads()和json.dumps()------区别-------json.load() 和json.dump()
json.loads()反序列化:将字典形式的转化为字符串类型
json.dumps()序列化:将字符串形式的转化为字典类型
json.load() 读文件:读取出文件中的json字符串内容
json.dump() 写文件:以json格式写入文件
实际用法:
1、json.loads()反序列化:将json字符串形式的转化为字典类型
dic=‘‘{‘name‘:‘a1‘,‘psw‘:‘123‘}‘‘ #一个字典dic
dic_2=json.loads(dic) #反序列化操作:转化dic字符串类型为字典,且用dic_2来接收结果 print(type(dic_2)) #打印查看dic_2的类型,结果可见是dict类型
2、json.dumps()序列化:将字典形式的转化为json字符串类型
dic_3={‘name‘:‘a1‘,‘psw‘:‘123‘} #一个字典dic
import json
dic_4=json.dumps(dic_3) #序列化操作:转化dic_3字典格式为json字符串,且用dic_4来接收结果 print(type(dic_4)) #打印查看dic_4的类型,结果可见是str类型
3、json.load() 从文件内读取json格式内容
with open(‘text.json‘,‘r‘,encoding=‘utf-8‘) as f : #读取text.json文件中的json字符串,编码为utf-8 print(json.load(f)) #打印出结果,可见为json格式的str类型内容
4、json.dump() 以json格式写入内容到文件内
content = ‘{"name":"anthony","sex":"man"}‘ #有一个字符串 with open(‘text.json‘,‘w‘,encoding=‘utf-8‘) as f: #打开text.json文件,以json格式并写入;编码utf-8 json.dump(content,f) #打印出结果,可见文件中显示内容未json格式字符串
原文:https://www.cnblogs.com/QiKa/p/12900181.html