Python json中load和loads区别有哪些
发表于:2025-01-22 作者:千家信息网编辑
千家信息网最后更新 2025年01月22日,小编给大家分享一下Python json中load和loads区别有哪些,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!一、相同点dump 和 dumps 都实现了序列化load 和
千家信息网最后更新 2025年01月22日Python json中load和loads区别有哪些
小编给大家分享一下Python json中load和loads区别有哪些,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!
一、相同点
dump
和dumps
都实现了序列化load
和loads
都实现反序列化
变量从内存中变成可存储或传输的过程称之为序列化序列化是将对象状态转化为可保存或可传输格式的过程。
变量内容从序列化的对象重新读到内存里称之为反序列化反序列化是流转换为对象。
二、区别
1.load 和 loads (反序列化)
load:针对文件句柄,将json
格式的字符转换为dict
,从文件中读取 (将string
转换为dict
)
a_json = json.load(open('demo.json','r'))
loads:针对内存对象,将string
转换为dict
(将string转换为dict)
a = json.loads('{'a':'1111','b':'2222'}')
2.dump 和 dumps(序列化)
dump:将dict类型转换为json
字符串格式,写入到文件 (易存储)
a_dict = {'a':'1111','b':'2222'}json.dump(a_dict, open('demo.json', 'w')
dumps:将dict转换为string
(易传输)
a_dict = {'a':'1111','b':'2222'}a_str = json.dumps(a_dict)
总结:
根据序列化和反序列的特性
loads: 是将
string
转换为dict
dumps: 是将
dict
转换为string
load: 是将里
json
格式字符串转化为dict
,读取文件dump: 是将
dict
类型转换为json
格式字符串,存入文件
三、JSON进阶
1.序列化
# 使用class对象的__dict__方法class Student(object): def __init__(self, name, age, score): self.name = name self.age = age self.score = scoreimport jsons = Student('Bob', 20, 88)print(json.dumps(s, default=lambda obj: obj.__dict__))
2.反序列化
#Python学习交流群:531509025def dict2student(d): return Student(d['name'], d['age'], d['score'])json_str = '{"age": 20, "score": 88, "name": "Bob"}'print(json.loads(json_str, object_hook=dict2student))
四、python中的序列化和反序列化
Python
提供两个模块来实现序列化:cPickle
和pickle
。这两个模块功能是一样的,区别在于cPickle
是C语言写的,速度快,pickle
是纯Python
写的,速度慢。
变量从内存中变成可存储或传输的过程称之为序列化,在
Python
中叫pickling
变量内容从序列化的对象重新读到内存里称之为反序列化,即
unpickling
try: import cPickle as pickleexcept ImportError: import pickle
1.将内存对象存取到磁盘
a = dict(a=1, b=2, c=3)pickle.dumps(a) # 将对象序列化为str然后存入文件a = dict(a=1, b=2, c=3)pickle.dump(a, open('a.txt', 'wb')) # 使用dump直接把对象序列化为file-like Object,注意是二进制存储
2.从磁盘读取到内存对象
pickle.load(open('a.txt', 'rb')) #从file-like Object中直接反序列化出对象
看完了这篇文章,相信你对"Python json中load和loads区别有哪些"有了一定的了解,如果想了解更多相关知识,欢迎关注行业资讯频道,感谢各位的阅读!
序列
对象
内存
文件
格式
变量
字符
存储
字符串
过程
两个
内容
模块
磁盘
篇文章
类型
速度
传输
相同
二进制
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
数据库加索引时间
国家网络安全教育宣传活动
软件开发demo啥意思
数据库的并发问题
游戏服务器架构教程
网站数据库可以复制吗
mysql改数据库字符集
华天科技招聘软件开发
网络安全宣传项目名称
网络技术公司经营范围有哪些
英语四级匹配题网络安全
网络安全的风险来自哪些方面
网络技术ppt素材
小米上传应用数据库
软件开发人才紧缺吗
pg数据库冷备份
力控组态软件实时数据库
北京超频服务器供应商家
正规网络技术转让
流媒体制作存储服务器型号
如何加强web服务器的安全
广州门禁软件开发怎么收费
滨州手机app软件开发
每天往数据库写数据
数据库王珊第五版 pdf
计算机三级网络技术考试贴吧
医院his系统调取数据库
北京公交app服务器无法请求
广州网络安全技术高峰论坛
超融合服务器 厂商