Python中的dump() 、load()和dumps()、loads()使用及示例

news2025/1/15 6:55:02

Python中的dump() 、load()和dumps()、loads()

结论:

1.不加s的标识对json文件的读写,将内存中值读取写入到json后缀文件,或者将json后缀文件中内容读取到内存

2.加了s的主要是字符串类型和其他数据类型的互转

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。

Python与JSON数据类型对应表:
在这里插入图片描述

1、json.dumps()和json.loads()是json格式处理Python的两种数据类型之间的互转
(1)json.loads()函数是将数据转换字符串转为数据类型字典/列表或其他的格式

import json

string1 = '{"name":"张三", "age":18, "hobby":{"hobby1":"打游戏", "hobby2":"打篮球", "hobby3":"踢足球"}, "gender":"男"}'
string2 = "abcdefgwwwwwwwwwww"
lis = [1,2,3,4,5,6,7,8]
dit = {"name": "egon", "type": {"name": "seq", "parameter": ["1", "2"]}}

print('string:', type(string1))
# json.loads是将字符串类型转换为dict类型
res = json.loads(string1)
print(type(res), res)

# 打印结果:
# string: <class 'str'>
# <class 'dict'> {'name': '张三', 'age': 18, 'hobby': {'hobby1': '打游戏', 'hobby2': '打篮球', 'hobby3': '踢足球'}, 'gender': '男'}

# 非键值对的字符串不支持转换为对应的dict类型
# print('string2:', type(string2))
# res = json.loads(string2)
# print(type(res), res)


# print('list:', type(list))
# res = json.loads(list)
# print(type(res), res)
# TypeError: the JSON object must be str, bytes or bytearray, not list


(2)json.dumps()函数是将数据类型字典/列表转化为数据类型字符串

import json

string1 = '{"name":"张三", "age":18, "hobby":{"hobby1":"打游戏", "gender":["1","2"]}}'
string2 = "abcdefgwwwwwwwwwww"
list = [1, 2, 3, 4, 5, 6, 7, 8]
dit = {"name": "egon", "type": {"name": "seq", "parameter": ["1", "2"]}}

print('string:', type(string1))
res = json.loads(string1)
print(res, type(res))

res2 = json.dumps(res)
print(res2, type(res2))

print("==================================")
print(res.keys())
print(res["name"])
print(res["hobby"]["hobby1"])
print(res["hobby"]["gender"][1])


2、 json.dump()和json.load()是读取json格式文件内容或者将内容写入json格式文件中
(1)json.dump() 将内存中的值传入到指定json文件中

import json

# 序列化结果写入文件的简单方法
 with open('aaa.json', mode='wt', encoding='utf-8') as f:
     json.dump([1, 'aaa', True, False], f)

(2)json.load() 读取json文件中内容到内存

import json

 # 从文件读取json格式字符串进行序列化操作简单方法
 with open('aaa.json', mode='rt', encoding='utf-8') as f:
     l = json.load(f)

总结:json模块的load()、dump()用于编码和解码JSON数据,处理文件。转换包含所有合法数据类型的Python对象、JSON数据类型!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/45127.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

KubeSphere 社区双周报 | KubeKey v3.0.2 发布 | 2022-11-24

KubeSphere 从诞生的第一天起便秉持着开源、开放的理念&#xff0c;并且以社区的方式成长&#xff0c;如今 KubeSphere 已经成为全球最受欢迎的开源容器平台之一。这些都离不开社区小伙伴的共同努力&#xff0c;你们为 KubeSphere 提出了很多建设性意见&#xff0c;也贡献了很多…

扫除知识共享障碍,天翎知识文档管理系统+群晖NAS一体化解决方案

编者按&#xff1a;知识共享是企业知识管理的重要模块&#xff0c;本文阐述了企业知识共享中常遇到的障碍&#xff0c;并指出知识文档管理系统可以帮助解决这些问题&#xff0c;而NAS与知识文档系统的结合更是锦上添花。 关键词&#xff1a;文档分类&#xff0c;版本管理&…

你想要知道的“全电发票接口”

老规矩&#xff0c;即使你看到此文前&#xff0c;你多少知道点“全电发票”的一些知识&#xff0c;这里方便那些还没得空抢先获取的知友小伙伴们梳理下相关知识点。 ** 一、全电发票具体的定义 ** 全电发票是国家税务总局随着金税四期推出的全国统一的电子发票服务平台&…

护眼台灯该怎么样选择?2022如何选择一款好的护眼台灯

随着社会的高度发展&#xff0c;人们的生活水平也渐渐得到提高&#xff0c;大家也慢慢开始在意平时生活中的健康问题了&#xff0c;比如眼睛健康就是一个很重要的点。现在的年轻人&#xff0c;尤其是青少年儿童&#xff0c;走在大街上普遍都能看见带着眼睛&#xff0c;近视情况…

B2B电子商务网站方案:为专用设备行业注入新动力,加快产业数字化转型升级

专用设备是指设备的结构、性能专门针对某一种或一类对象&#xff0c;实现一项或几项功能的工业&#xff0c;包括工程机械、光伏设备、锂电设备、3C设备、半导体设备等。近年来&#xff0c;受市场对专用设备的应用需求不断扩大、产业技术升级趋势加快等影响&#xff0c;我国专用…

段错误,虚拟内存,内存映射 CSAPP

相信写代码的或多或少都会遇到段错误&#xff0c;segmentation fault. 今天终于看到这里面的底层原理 参考&#xff1a; https://greenhathg.github.io/2022/05/18/CMU213-CSAPP-Virtual-Memory-Systems/18-Virtual-Memory-SystemsSimple memory system exampleAddress Trans…

Las Vegas 与回溯组合法解八皇后问题

八皇后问题&#xff0c;是一个古老而著名的问题&#xff0c;是回溯算法的典型案例。该问题是国际西洋棋棋手马克斯贝瑟尔于1848年提出&#xff1a;在88格的国际象棋上摆放八个皇后&#xff0c;使其不能互相攻击&#xff0c;即任意两个皇后都不能处于同一行、同一列或同一斜线上…

刷爆力扣之卡牌分组

刷爆力扣之卡牌分组 HELLO&#xff0c;各位看官大大好&#xff0c;我是阿呆 &#x1f648;&#x1f648;&#x1f648; 今天阿呆继续记录下力扣刷题过程&#xff0c;收录在专栏算法中 &#x1f61c;&#x1f61c;&#x1f61c; 该专栏按照不同类别标签进行刷题&#xff0c;每个…

DDOS防护如何建设?

数字化转型发展也推动了云计算、人工智能、大数据、物联网等新一代信息技术应用普及&#xff0c;与此同时&#xff0c;新时代的发展也带来了新的网络威胁和新的安全需求。我们不难发现&#xff0c;近年网络攻击时间层出不穷&#xff0c;全球范围来看&#xff0c;企业因遭受网络…

quilt基本使用

一、简介 quilt是制作补丁和管理的工具。比如想用开源代码做一些项目&#xff0c;我们如果直接在开源代码里进行修改&#xff0c;等到下次开源代码升级后&#xff0c;我们再将我们修改的部分转移到新版本的开源代码中就需要进行大量的新旧版本对比工作。那如果我们将这些改动使…

3D视觉应用案例:引导板件定位抓取

3D引导板件定位抓取 某知名模具钢材集团 项目背景 广州某知名模具钢材集团&#xff0c;需求3D引导板件定位抓取和2D识别信息获取功能。原场景用的桁车设备加人工搬运安全系数极低。 作业流程 • 3D相机视觉识别产品位置后&#xff0c;通过机器人电磁铁完成产品的抓取。 •…

大数据 安装配置centOS

安装vmware workstation 启动vmware workstation 启动【编辑】菜单下的“虚拟网络编辑器” 更改VMnet8 查看DHCP设置 查看NAT设置 安装centos7 链接&#xff1a;https://howard2005.blog.csdn.net/article/details/126830182?spm1001.2014.3001.5502 启动虚拟机 虚拟机 查…

代码调优?从Fibonacci数列的7种写法说起,看完coding能力上一个台阶

开启掘金成长之旅&#xff01;这是我参与「掘金日新计划 12 月更文挑战」的第2天&#xff0c;点击查看活动详情 引子 楼梯有 N阶&#xff0c;上楼可以一步上一阶&#xff0c;也可以一步上二阶。 编一个程序&#xff0c;计算共有多少种不同的走法。 例&#xff1a; 0层&…

【毕业设计】28-基于单片机的音乐播放器简易音乐播放器设计(原理图+源代码+仿真工程+答辩PPT+答辩论文)

typora-root-url: ./ 【毕业设计】28-基于单片机的音乐播放器简易音乐播放器设计&#xff08;原理图源代码仿真工程答辩PPT答辩论文&#xff09; 文章目录typora-root-url: ./【毕业设计】28-基于单片机的音乐播放器简易音乐播放器设计&#xff08;原理图源代码仿真工程答辩PP…

麦芽糖-聚乙二醇-甲氨蝶呤 MTX-PEG-maltose

麦芽糖-聚乙二醇-甲氨蝶呤 MTX-PEG-maltose 中文名称&#xff1a;麦芽糖-甲氨蝶呤 英文名称&#xff1a;maltose-MTX 别称&#xff1a;甲氨蝶呤修饰麦芽糖&#xff0c;甲氨蝶呤-麦芽糖 PEG接枝修饰麦芽糖&#xff0c;麦芽糖-聚乙二醇-甲氨蝶呤&#xff0c;MTX-PEG-maltose&…

【visual studio】visual studio 2022 无法 复制黏贴

visual studio 2022 cannot copy paste 其他网友也有反馈到微软&#xff1a;VS 2022 Copy and Paste form feature Broken?Copy paste still not fixed in Visual studio 2022表现是突然就无法复制和黏贴了其他的app 就没有这个问题每次都是重启电脑解决。 2022年11月fix 今…

java中csv导出-追加-列转行

1、问题描述 业务数据量比较大&#xff0c;业务上查询条件写入数据库&#xff0c;java定时去读&#xff0c;然后导出csv&#xff0c;供用户下载&#xff0c;因为有模板要求&#xff0c;前一部分是统计信息&#xff0c;后一部分是明细信息&#xff1b;首先csv中写入统计信息&am…

gradle安装配置

Gradle和Maven都是当前热门的自动化构建工具。 这里以安装6.8版本为例 下载地址 https://services.gradle.org/distributions/ 环境配置 新建系统环境 GRADLE_HOME D:\software\gradle-6.8 新建系统环境 GRADLE_USER_HOME D:\gradle\repository 找到path变量,后面添加 %…

uniapp 短信监听(验证码)插件 Ba-Sms

简介&#xff08;下载地址&#xff09; Ba-Sms 是一款用于拦截实时短信的插件&#xff0c;可以进行短信过滤&#xff0c;得到自己想要的内容&#xff0c;可以用于需要自动填写短信验证码的项目 支持监听当前接收到的短信信息支持过滤接收到的短信&#xff0c;默认过滤4~8位的…

Python学习笔记之进程池pool

平时很多操作都会用到多进程&#xff0c;比如爬虫、数据处理。 下面介绍一下多进程的函数方法、参数及使用方法。 目录 一.进程池Pool介绍 1.apply() 2.apply_async 3.map() 4.map_async() 5.close() 6.terminal() 7.join() 二&#xff0e;进程池Pool使用 1.map用法…