序列化模块json代码实例详解
json模块
json是一种通用的数据传输格式,本质就是一个字符串
json要求{'key':value}
- key必须是字符串,value只能是:字典,列表,字符串,数字,bool值
- 在任何语言中他的type都必须是字符串类型
- json是所有的变成语言都公认的一种数据类型
- 如果是python语言要给java语言发送信息,那么就可以转换成json格式,。java经过一系列转换就可以得到数据类型
json序列化(dump/dumps)和反序列化(load/loads)
importjson dic={'北京':{'丰台':{},'海淀':{}}} print(dic) dic_str=json.dumps(dic,ensure_ascii=False)#序列化过程,把字典/其他数据类型转换成字符串, ensure_ascii=False,如果字典中有中文,希望写入数据中也显示中文,就要添加参数 print(dic_str) withopen('file',mode='w',encoding='utf-8')asf: f.write(dic_str)
importjson lst=[1,2,3,4,56] withopen('file',mode='w',encoding='utf-8')asf: json.dump(lst,f) withopen('file',mode='r',encoding='utf-8')asf1: ret=json.load(f1) print(ret)
importpickle
pickle模块
python语言中特有的序列化模块
importpickle dic={'北京':{'朝阳':'昌平'},('天津','河北'):[1,2,3]} ret=pickle.dumps(dic) print(ret) str_d=pickle.loads(ret) print(str_d) importpickle dic={'北京':{'朝阳':'昌平'},('天津','河北'):[1,2,3]} withopen('file',mode='wb')asf: pickle.dump(dic,f) withopen('file',mode='rb')asf1: ret=pickle.load(f1) print(ret)
pickle和json的区别
1.pickle支持python中的几乎所有数据类型,但是只能python一门语言中使用
2.json支持所有的语言,但只支持有限的数据类型
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。