辨别Python中load和loads的小技巧

辨别Python中load和loads的小技巧如使用 json dumps 序列化的对象 d json json dumps a 1 b 2 在这里 d json 是一个字串 b 2 a 1 d json loads d json b 2 a 1 使用 load 重新反序列化为 dict load 针对文件句柄 如本地有一个 json 文件 a json 则可以 d json load open a json 相应的 dump 就是将内置类型序列化为 json 对象后写入文件

一句话,load通过json.load(open(‘*.json’))这样的格式,从文件句柄中打开文件,加载到Python的变量中,并以字典的格式转换。而loads必须对于Python内存中的序列化对象转换成字符串。

因此,load和loads都是实现“反序列化”,区别在于(以Python为例)。loads针对内存对象,即将Python内置数据序列化为字串。如使用json.dumps序列化的对象d_json=json.dumps({‘a‘:1, ‘b‘:2}),在这里d_json是一个字串‘{“b”: 2, “a”: 1}‘

d=json.loads(d_json)  #{ b”: 2, “a”: 1},使用load重新反序列化为dict,load针对文件句柄,如本地有一个json文件a.json则可以d=json.load(open(‘a.json‘))相应的,dump就是将内置类型序列化为json对象后写入文件。

测试:

l1 = '[1,2,3,4]' d1 = '{"k1":"v1"}' print(type(l1)) print(type(d1))

输出:

 
   
    
  
ret = json.loads(l1) print(ret,type(ret)) ret = json.loads(d1) print(ret,type(ret))  

输出:

 [1, 2, 3, 4] 
  
    {'k1': 'v1'} 
    
  [1, 2, 3, 4] 
 
   {'k1': 'v1'} 
   
 
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/216906.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月18日 上午10:47
下一篇 2026年3月18日 上午10:48


相关推荐

  • 我对双飞翼布局理解,以及双飞翼布局的好处

    我对双飞翼布局理解,以及双飞翼布局的好处双飞翼布局对我这样的新手来说不太好理解 光靠死记不行 理解了以后就能轻易写出来 话不多说 请看代码 lt DOCTYPEhtml gt lt htmllang en gt lt head gt lt metacharset UTF 8 gt lt title gt 双飞翼布局 lt title gt lt styl

    2026年3月18日
    2
  • 认识Apache Bookkeeper

    认识Apache BookkeeperApacheBookke 简介 Apachebookke 是一个分布式 可扩展 容错 多副本 低延迟的存储系统 其提供了高性能 高吞吐的存储能力 Bookkeeper 实现了 append 方式的写操作 Bookkeeper 有一个非常成功的应用案例 apachepulsar 是近年雅虎开源的一个 MQ pulsar 相对于 kafka 来说 在存储上有优势 kafka 的单个 partition 的存储容量受到了部署 kafka 的 broker 的硬盘容量限制 当有大量的数据需要 MQ 支持时 partitio

    2026年3月17日
    2
  • HTML 动画(一)[通俗易懂]

    HTML 动画(一)[通俗易懂]入场动画(一)图片从左至右逐渐消失实现逻辑:a:将遮罩分割为数个div,多个div通过图片定位拼接成一张图片;b:运用requestAnimationFrame+animation实现动画;c:遮罩层网格状逐步消失设置background-position:0;2.效果图:3.代码:<!DOCTYPEhtml><htmllang=”en”&…

    2022年6月29日
    28
  • 小米bl未解锁变砖了如何刷机_如何安装MIUI 10[通俗易懂]

    小米bl未解锁变砖了如何刷机_如何安装MIUI 10[通俗易懂]MIUI,一个安卓系统,如何安装?先说一下,MIUI10目前支持这些小米手机/平板:手机:小米4、红米3S、红米3X、红米Note3、小米4c、红米Pro、红米Note4、小米4S、红米5A、小米5、红米5Plus、小米6、小米Note2、红米6Pro、红米Note5、小米Max2、小米MIX、小米Max、小米MIX2S、小米5X、红米4、小米6X、红米Note5A、红米4A、…

    2022年5月9日
    2.1K
  • 薄膜电容分类研究_贴片薄膜电容

    薄膜电容分类研究_贴片薄膜电容综述在音频电路设计中,薄膜电容是个常客。它的损耗角非常低,电容值较小,耐压比较大,可以用于耦合、滤波、退耦等场合。在应用中我发现,薄膜电容种类较多,技术参数的关注点与电解电容有所不同,于是查阅了Wiki和各个厂家的Datasheet,在这里做一个总结。薄膜电容总的来说性能很好,但也分很多种类和级别,应用的场合也有所不同。基础知识在Wiki上很详尽,下图展示了薄膜电容的电极/电介…

    2022年8月22日
    13
  • react中父组件向子组件传值

    react中父组件向子组件传值1.子组件代码:定义props.属性名来接收父组件传递过来的值importReact,{Component}from”react”;exportdefaultclassSonextendsComponent{render(){return<div>我是子组件—{this.props.text}</div>;}}2.父组件代码:在引用子组件时,在子组件身上传递数据(用子组件定义的属性来传递)importR

    2022年5月27日
    44

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号