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() #把内存中的字节串转成对应的数据类型

 

 

posted @ 2019-02-28 14:52  沐阳如歌  阅读(94)  评论(0)    收藏  举报