用json.load(s)和json.dump(s),让python对象轻松变身
off999 2024-11-08 12:50 23 浏览 0 评论
常常使用python的伙伴们知道,无论是基于哪种格式的配置文件,我们在各种接口提交或者获取数据的时候,我们都会使用到json模块来处理数据。那么,json是什么?在python中如何使用呢?我们今天就来简单的说一说。
json是什么?
这里我们引用以下百度百科的解释。
JSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式。它基于ECMAScript (欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。
json,通俗来说就是一种在接口中易于使用的数据处理模块,但是json不属于数据格式。至于python中重要的数组类型,我们在后期会继续聊。
json.load(s)与json.dump(s)
1、区别
json.load:表示读取文件,返回python对象
json.dump:表示写入文件,文件为json字符串格式,无返回
json.dumps:将python中的字典类型转换为字符串类型,返回json字符串
json.loads:将json字符串转换为字典类型,返回python对象
load和dump处理的主要是文件
loads和dumps处理的是字符串
2、关系图
3、应用
导入内置库模块json
import json
①、json.dump
def dump(obj, fp, skipkeys=False, ensure_ascii=True, check_circular=True,allow_nan=True, cls=None, indent=None, separators=None,encoding='utf-8', default=None, sort_keys=False, **kw)
obj必传,表示待转换的文件,fp必传,表示文件对象
file_text='{"name":"john","age":22,"sex":"man","address":"USA"}'
import json
#1
json.dump(file_text,open("json.file",'w'))
#2实现的效果也是写入文件
with open("json_file1","w") as f:
f.write(json.dumps(file_text))
f.close()
②、json.load
def load(fp, encoding=None, cls=None, object_hook=None, parse_float=None,
parse_int=None, parse_constant=None, object_pairs_hook=None, **kw)
f必选,表示文件对象
import json
#需要有文件json_file1
with open("json_file1","r") as f:
print json.load(f)
③、json.loads
def loads(s, encoding=None, cls=None, object_hook=None, parse_float=None,
parse_int=None, parse_constant=None, object_pairs_hook=None, **kw)
s必传,表示字符串
file_text='{"name":"john","age":22,"sex":"man","address":"USA"}'
import json
print file_text
print type(file_text)
print json.loads(file_text)
print type(json.loads(file_text))
④、json.dumps
def dumps(obj, skipkeys=False, ensure_ascii=True, check_circular=True,
allow_nan=True, cls=None, indent=None, separators=None, encoding='utf-8', default=None, sort_keys=False, **kw)
obj必传,表示文件对象
file_text={ "name":"john", "age":22, "sex":"man", "address":"USA" }
import json
print file_text
print type(file_text)
print json.dumps(file_text)
print type(json.dumps(file_text))
4、总结
在使用的时候,loads和dumps使用最广泛,需要重点关注。那么,如何轻松的记住到底是用loads还是dumps呢?其实也很简单,load意为加载,当需要将文件变成python自己的对象的时候,使用loads,意思就是加载成python的东西用loads,字典就是python的对象。而dumps意为转存,意思就是将文件变成另外一种字符串形式,这时候选择dumps。
简单地说就是:加载python用loads,转存字符串用dumps。
关注我,持续更新更多小知识。
相关推荐
- 图片文字修改神器免费(手机无痕修改图片文字软件)
-
首先区分是完整图片导入还是ai软件自己编写的文字,如果导入的图片无法修改,只能像ps一样去修图,如果是软件编写的,无法选取先要解锁,方法:上面任务栏对象-选择全部解锁。然后修改。修改方法:如果对方编组...
- 开户最忌三个证券公司(随便哪个证券公司开户都一样吗)
-
在不同的证券公司开户,确实存在一些区别。首先,不同的证券公司提供的交易品种和交易费用可能不同,有些公司可能提供更广泛的投资选择,而有些公司则可能提供更低的佣金率,这直接影响到您的投资成本和收益。其次,...
- 农行手机银行app下载(中国农业银行App下载)
-
自己下载的农行手机银行是能转账的,只是额度可能会要低一些,比如一类卡,在农行网点注册下载并开通手机银行,一天转账的额度是有十万,而自己下载注册开通的手机银行额度则只有5万,自己是可以下载农行手机银行是...
- 下载本机手机管家(手机管家华为专用版下载)
-
可以在手机的应用商店中下载就可以了你看看有没有办法把他弄到桌面上,比如刷新桌面,如果影响使用的话,建议恢复出厂设置吧,我以前也出现过这种情况,刷机之后就好了电脑管家目前是不支持手机终端登录的所以无法...
- 广州疫情最新消息(广州疫情最新消息通知)
-
当然可以,深圳去广州的交通发达也便捷,可以乘坐大巴车、火车、高铁、自驾车均可到达广州的各大客运站、火车站、城市地标,到站后还可以乘坐公交车、地铁、打车到你想去的目的地。 深圳...
- 大型网络游戏排行榜前十(目前大型网络游戏排行)
-
最热门的有很多的,每个人的标准都不一样的,但是只要自己喜欢就好,无有传齐所有职业都有四个被动技能,游侠的四个技能分别是:游猎者、梦魇、鹰眼术和原动力。作用分别是对减速单位额外造成伤害,暴击是额外提高伤...
- 苹果15(苹果15pro)
-
1、屏幕机身方面:iPhone15配有黑色、白色、红色、绿色、蓝色五款颜色,配备6.1英寸超视网膜XDR显示屏,支持HDR显示、原彩显示、广色域(P3)、2000000:1对比度(典型)...
- 迅雷浏览器官方下载(迅雷浏览器安卓下载)
-
可以下载浏览器。你用迅雷下载浏览器之后下载完成之后你去打开打开他就让你安装,安装之后就可以了那么浏览器的应用你就可以直接的用用,所以用新人下载浏览器这个是可以的,不会出现什么问题,下载浏览器也是比较快...
- 硬盘坏道修复工具(硬盘坏道修复太慢了)
-
1、victoria是一款基于Windows操作系统的用于电脑硬盘检测和维护的工具软件,具备硬盘表面检测、硬盘坏道修复、smart信息察看保存、cache缓存控制等多功能的工具,支持众多型号硬盘解密,...
- 中国驾驶模拟器(驾驶模拟中国地图游戏手机版)
-
是的,驾驶模拟器对学车非常有用。1、提供更安全的学习环境:在驾驶模拟器中,学员可以练习各种驾驶技巧,如转向、加减速、并线等,而无需担心与其他车辆或行人的碰撞,从而大大降低了驾驶练习的风险。2、增强学习...
- cad2018安装包下载(cad2018软件安装包)
-
点击软件安装包,鼠标右击选择解压到CAD_2019_64bit打开解压的文件夹在双击AutoCAD_2019_Simplified_Chinese_Win_64bit_dlm.sfx点击确定(软件安...
- conservative(conservative翻译)
-
conservative是贬义词。作形容词使用意思是保守的;守旧的;(英国)保守党的;低于实际数量的;作名词使用意思是(英国)保守党党员,保守党支持者;保守者;因循守旧者;例句Atleast50...
- 什么杀毒软件安全可靠(什么杀毒软件安全可靠性高)
-
肯定是360啊,虽然金山是老牌的杀毒软件公司,但是我觉得金山的体验做得确实一般,收费的时候市场份额很大,但是被360免费之后,360找到自己免费的盈利方式,一直更新迭代功能,不断的加强完善,技术投入力...
欢迎 你 发表评论:
- 一周热门
-
-
抖音上好看的小姐姐,Python给你都下载了
-
全网最简单易懂!495页Python漫画教程,高清PDF版免费下载
-
飞牛NAS部署TVGate Docker项目,实现内网一键转发、代理、jx
-
Python 3.14 的 UUIDv6/v7/v8 上新,别再用 uuid4 () 啦!
-
python入门到脱坑 输入与输出—str()函数
-
Python三目运算基础与进阶_python三目运算符判断三个变量
-
(新版)Python 分布式爬虫与 JS 逆向进阶实战吾爱分享
-
失业程序员复习python笔记——条件与循环
-
系统u盘安装(win11系统u盘安装)
-
Python 批量卸载关联包 pip-autoremove
-
- 最近发表
- 标签列表
-
- python计时 (73)
- python安装路径 (56)
- python类型转换 (93)
- python进度条 (67)
- python吧 (67)
- python的for循环 (65)
- python格式化字符串 (61)
- python静态方法 (57)
- python列表切片 (59)
- python面向对象编程 (60)
- python 代码加密 (65)
- python串口编程 (77)
- python封装 (57)
- python写入txt (66)
- python读取文件夹下所有文件 (59)
- python操作mysql数据库 (66)
- python获取列表的长度 (64)
- python接口 (63)
- python调用函数 (57)
- python多态 (60)
- python匿名函数 (59)
- python打印九九乘法表 (65)
- python赋值 (62)
- python异常 (69)
- python元祖 (57)
