json 和 pickle模块的序列化和反序列化以及之间的区别
序列化 就是把各种数据类型转成字符
反序列化 把字符转成数据类型
json 模块和 pickle 模块里面都有dump/dumps ,load/loads的方法功能:
json 模块转的是字符串 pickle模块转的是二进制形式的字节串
json/pickle中打开文件的文件名后缀用json/pkl 如:f=open('test.json','w') / f=open('test.pkl','wb')
1,json 支持的数据类型有 int ,str ,tuple, list, dict
json 可以跨平台跨语言使用 ,因为json支持的数据类型在其他语言中也支持
json.dump() # 把数据序列化转成字符之后存到硬盘上
json.dumps() #仅把数据转成字符 还在内存中
json.load() #把硬盘中的文件内的字符反序列化转成对应的数据类型
json.loads() #把内存中的字符转成对应的数据类型
2 pickle 支持所有的数据类型 ,但是只限在python 语言中使用,不能跨平台,因为python语言中的部分数据类型和其它语言中的不一样或者差别很大,比如函数等。
pickle.dump() # 把数据序列化转成二进制形式的字节串之后存到硬盘上
pickle.dumps() #仅把数据转成字节串 还在内存中
pickle.load() #把文件中的字节串转成对应的数据类型
pickle.loads() #把内存中的字节串转成对应的数据类型








浙公网安备 33010602011771号