iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python json中load和loads区别有哪些
  • 327
分享到

Python json中load和loads区别有哪些

2023-06-25 13:06:05 327人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

小编给大家分享一下python JSON中load和loads区别有哪些,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!一、相同点dump 和 dumps 都实现了序列化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提供两个模块来实现序列化:cPicklepickle。这两个模块功能是一样的,区别在于cPickleC语言写的,速度快,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区别有哪些”有了一定的了解,如果想了解更多相关知识,欢迎关注编程网Python频道,感谢各位的阅读!

--结束END--

本文标题: Python json中load和loads区别有哪些

本文链接: https://www.lsjlt.com/news/304991.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python json中load和loads区别有哪些
    小编给大家分享一下Python json中load和loads区别有哪些,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!一、相同点dump 和 dumps 都实现了序列化load 和 loads 都实现反序列化变量从内存中变...
    99+
    2023-06-25
  • 关于 Python json中load和loads区别
    目录一、相同点二、区别1.load 和 loads (反序列化)2.dump 和 dumps(序列化)三、JSON进阶1.序列化2.反序列化四、python中的序列化和反序列化1.将...
    99+
    2024-04-02
  • Python中dumps与dump及loads与load的区别
    前言:  json 模块提供了一种很简单的方式来编码和解码JSON数据。 其中两个主要的函数是 json.dumps() 和 json.loads()。  1、j...
    99+
    2024-04-02
  • properties中load()和store()的区别有哪些
    这篇文章主要介绍properties中load()和store()的区别有哪些,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1.loadload(InputStream instream) 从输入流中读取属性列表(键...
    99+
    2023-06-02
  • json和jquery有哪些区别
    本文小编为大家详细介绍“json和jquery有哪些区别”,内容详细,步骤清晰,细节处理妥当,希望这篇“json和jquery有哪些区别”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识...
    99+
    2024-04-02
  • Python中json模块load/loads方法实战以及参数详解
    目录前言1. loads方法与load方法的异同1.1不相同点:1.2 相同点1.3 例子2. 转换成Python对象3. json.load(s)的参数3.1 s参数3.2 obj...
    99+
    2024-04-02
  • Python中match()和search()有哪些区别
    这篇文章主要介绍了Python中match()和search()有哪些区别,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。Python 里面 ...
    99+
    2024-04-02
  • python中copy和deepcopy有哪些区别
    这篇文章给大家分享的是有关python中copy和deepcopy有哪些区别的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。python中copy和deepcopy区别(1)复制不...
    99+
    2024-04-02
  • python中in和is有哪些区别
    这篇文章主要介绍了python中in和is有哪些区别,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1、区别说明in:一方面可以用于检查序列(list,range,字符串等)中...
    99+
    2023-06-15
  • Python中字典和json有什么区别
    本篇文章为大家展示了Python中字典和json有什么区别,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。python主要应用领域有哪些1、云计算,典型应用OpenStack。2、WEB前端开发,众多...
    99+
    2023-06-14
  • Python中end=和sep=的区别有哪些
    这篇文章将为大家详细讲解有关Python中end=和sep=的区别有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。end: 默认是换行,表示两个字符串最后以什么结尾。eg: 换行 end="...
    99+
    2023-06-15
  • Python中pandas和numpy的区别有哪些
    小编给大家分享一下Python中pandas和numpy的区别有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Python主要用来做什么Python主要应用于...
    99+
    2023-06-15
  • python中if和elif的区别有哪些
    这篇文章主要介绍python中if和elif的区别有哪些,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!例子一a = 5if a < 6:  ...
    99+
    2023-06-25
  • mysql中:=和=有哪些区别
    这篇文章主要介绍了mysql中:=和=有哪些区别,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。:=和=的区别= 只有在set和update时...
    99+
    2024-04-02
  • pycharm和python的区别有哪些
    PyCharm 是一个 Python 集成开发环境(IDE),而 Python 是一种编程语言。它们之间的区别如下:1. 功能:Py...
    99+
    2023-09-21
    python pycharm
  • MyBatis中#{}和${}有哪些区别
    目录前言#{} 和 ${} 的区别#{} 和 ${} 的实例:假设传入参数为 1实例步骤一实例步骤二实例步骤三#{} 和 ${} 的大括号中的值#{} 和 ${} 在使用中的技巧和建...
    99+
    2024-04-02
  • go语言和python有哪些区别
    go语言和python的区别:1、语法和设计;2、并发处理;3、标准库和生态系统;4、应用领域;5、性能;6、学习曲线;7、内存管理;8、类型系统;9、语法糖;10、包管理;11、调试和测试。详细介绍:1、语法和设计,Go语言是一种编译型语...
    99+
    2023-12-11
    go语言 python
  • python和nodejs之间有哪些区别
    这篇文章主要为大家展示了“python和nodejs之间有哪些区别”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“python和nodejs之间有哪些区别”这篇文...
    99+
    2024-04-02
  • js中==和===的区别有哪些
    这篇文章将为大家详细讲解有关js中==和===的区别有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。JavaScript是什么JavaScript是一种直译式的脚本语言,其解释器被称为JavaScri...
    99+
    2023-06-15
  • Kotlin中?和!!的区别有哪些
    这篇文章给大家分享的是有关Kotlin中和!!的区别有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。前言很多同学刚上手使用Kotlin知道它有针对Java NullPointerException的管理,而在...
    99+
    2023-06-14
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作