时间:2021-05-22
将Python数据类型转换为其他代码格式叫做(序列化),而json就是在各个代码实现转换的中间件。
序列化要求:
1. 只能有int,str,bool,list,dict,tuple的类型支持序列化。
2. json序列化是以字符串形式出现。那么:lis= "[11,22,33]" 这样的也能称为序列化。
3. 必须将数据类型包裹在list或dict内进行转换。
4. json内部的str格式,必须以双引号来进行包裹。
5. bool值转换为小写的首字母
json.dumps
将py转换为json(序列化)格式的字符串
lis = [11,22,33]json_lis = json.dumps(lis)print(type(json_lis))#<class 'str'>如果序列化时,存在中文,那么默认将会以unnicode类型转换。可以使用:
v = [1,2,3,4,'哈哈']data= json.dumps(v)print(data) #[1, 2, 3, 4, "\u54c8\u54c8"] #################################v = [1,2,3,4,'哈哈']data= json.dumps(v,ensure_ascii=False)print(data) #[1, 2, 3, 4, "哈哈"]将序列化格式字符串,反序列化为python文件格式。
lis = [11,22,33]json_lis = json.dumps(lis)lis_1 = json.loads(json_lis)print(type(lis_1))将序列化好的内容直接存放到一个文件内。load为直接读取文件内序列化的内容进行反序列化。
import jsonv = [1,2,3,4,'哈哈']with open('test.txt',mode='w',encoding='utf-8') as f: json.dump(v,f,ensure_ascii=False)pickle模块:
pickle的使用方式和json完全一样,需要注意的是:
1. pickle只支持python类型的转换,而json支持其他代码语言的转换。
2. pickle可以将python中所有数据类型进行转换,而json不能转换元组(转换成列表)和集合,而且必须套到列表或字典中。
3. json序列化后的类型为字符串类型,而pickle所序列化的类型为bytes类型。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
python3shelve模块的详解一、简介 在python3中我们使用json或者pickle持久化数据,能dump多次,但只能load一次,因为先前的数据
本文实例讲述了Python使用Pickle库实现读写序列操作。分享给大家供大家参考,具体如下:简介pickle模块实现了用于对Python对象结构进行序列化和反
本文实例讲述了Python使用pickle模块实现序列化功能。分享给大家供大家参考,具体如下:Python内置的pickle模块能够将Python对象序列成字节
这是用于序列化的两个模块:•json:用于字符串和python数据类型间进行转换•pickle:用于python特有的类型和python
本文实例讲述了Python数据持久化shelve模块用法。分享给大家供大家参考,具体如下:一、简介在python3中我们使用json或者pickle持久化数据,