Python(七)操作JSON

news2024/12/24 8:46:32

程序员的公众号:源1024获取更多资料,无加密无套路!

最近整理了一波电子书籍资料,包含《Effective Java中文版 第2版》《深入JAVA虚拟机》,《重构改善既有代码设计》,《MySQL高性能-第3版》,《Java并发编程实战》等等
获取方式: 关注公众号并回复 电子书 领取,更多内容持续奉上


Python3 中可以使用 json 模块来对 JSON 数据进行编解码

编码:json.dumps()

解码:json.loads()

 编码

import json
 
# 字典类型转换为 JSON 对象
data = {
    'name' : 'python',
    'url' : 'http://www.python.com',
    'type': 'language',
    'flag' : True ,
    'thread' : None,
    'list' : [1, 2, 3, 4, 5 ]
}
 
json_str = json.dumps(data)
print ("Python 原始数据类型:", type(data))
print ("Python 原始数据:", repr(data))
print ("JSON 对象类型:", type(json_str))
print ("JSON 对象:", json_str)

#输出
Python 原始数据类型: <class 'dict'>
Python 原始数据: {'name': 'python', 'url': 'http://www.python.com', 'type': 'language', 'flag': True, 'thread': None, 'list': [1, 2, 3, 4, 5]}
JSON 对象类型: <class 'str'>
JSON 对象: {"name": "python", "url": "http://www.python.com", "type": "language", "flag": true, "thread": null, "list": [1, 2, 3, 4, 5]}

解码

# 将 JSON 对象转换为 Python 字典
data2 = json.loads(json_str)
print("data2 数据类型:", type(data2))
print ("data2['name']: ", data2['name'])
print ("data2['url']: ", data2['url'])
print ("data2['type']: ", data2['type'])
print ("data2['flag']: ", data2['flag'])
print ("data2['thread']: ", data2['thread'])
print ("data2['list']: ", data2['list'])

#输出
data2 数据类型: <class 'dict'>
data2['name']:  python
data2['url']:  http://www.python.com
data2['type']:  language
data2['flag']:  True
data2['thread']:  None
data2['list']:  [1, 2, 3, 4, 5]

写入

# 写入数据
with open('data.json', 'w') as f:
    json.dump(data, f)

读取

# 读取数据
with open('data.json', 'r') as f:
    data = json.load(f)
    print(data)

#输出
{'name': 'python', 'url': 'http://www.python.com', 'type': 'language', 'flag': True, 'thread': None, 'list': [1, 2, 3, 4, 5]}


系列文章索引

Python (一) 操作Mysql

Python (二) 读写excel文件

Python (三) 读写csv文件

Python (四)读写word

Python (五) 处理图像



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

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

相关文章

基于Java SSM框架实现个性化影片推荐系统项目【项目源码+论文说明】计算机毕业设计

基于java的SSM框架实现个性化影片推荐系统演示 摘要 随着科学技术的飞速发展&#xff0c;社会的方方面面、各行各业都在努力与现代的先进技术接轨&#xff0c;通过科技手段来提高自身的优势&#xff0c;个性化影片推荐系统当然也不能排除在外。个性化影片推荐系统是以实际运用…

【源码解析】flink sql执行源码概述:flink sql执行过程中有哪些阶段,这些阶段的源码大概位置在哪里

文章目录 一. sql执行流程源码分析1. Sql语句解析成语法树阶段&#xff08;SQL - > SqlNode&#xff09;2. SqlNode 验证&#xff08;SqlNode – >Operation&#xff09;3. 语义分析&#xff08;Operation - > RelNode&#xff09;4. 优化阶段&#xff08;RelNode - &…

uni-app 一些实用的页面模板

时间倒计时 <!-- 时间倒计时 --> <template><view class"container"><view class"flex-row time-box"><view class"time-item">{{ laveTimeList[0] }}</view><text>天</text><view class&qu…

喜讯 | 同立海源生物入选2023年国创中心细胞疗法“揭榜挂帅”技术攻关项目

近日&#xff0c;2023年国家生物药技术创新中心细胞疗法“揭榜挂帅”技术攻关拟立项目名单公示&#xff0c;北京同立海源生物科技有限公司&#xff08;简称“同立海源生物”&#xff09;参评的 “细胞分选激活磁珠研发项目” 凭借公司多年在细胞分选磁珠领域的技术沉淀和创新性…

【期末考复习向】transformer的运作机制

1.transformer的encoder运作 transformer的encoder部分包括了输入和处理2大部分。首先是输入部分inputs&#xff0c;这里初始的inputs是采用独热向量进行表示的&#xff0c;随后经过word2vec等操作把独热向量&#xff08;采用独热向量的好处就是可向量是正交的&#xff0c;可以…

K8S(五)—命名空间与资源配额

目录 命名空间(Namespace)命令计算资源配额创建命名空间绑定一个ResourceQuota资源将命名空间和资源限制对象进行绑定尝试创建第二个 Pod查看ResourceQuota 绑定第二个ResourceQuota为命名空间配置默认的 CPU 、memory请求和限制&#xff08;1&#xff09;Pod 中所有容器都没有…

样本空间的一个划分

假设试验E的样本空间为S&#xff0c;为E的一组事件&#xff0c;如果这组事件满足如下条件&#xff1a; &#xff0c;其中&#xff0c;&#xff0c;即事件两两之间互不相容 那么就称为样本空间S的一个划分。

3D Font

在游戏中使用3D文本 只需添加预制件并立即生成您的文本。 特点: *真实3D字母&#xff0c;可用作游戏对象*移动友好低聚 *VR兼容 *WebGL兼容 *30种以上不同字体 *材料和颜色可定制 WebGL演示 https://indiechest.itch.io/3d-font-engine 下载&#xff1a; ​​Unity资源商店链…

redis:二、缓存击穿的定义、解决方案(互斥锁、逻辑过期)的优缺点和适用场景、面试回答模板

缓存击穿的定义 缓存击穿是一种现象&#xff0c;具体就是某一个数据过期时&#xff0c;恰好有大量的并发请求过来&#xff0c;这些并发的请求可能会瞬间把DB压垮。典型场景就是双十一等抢购活动中&#xff0c;首页广告页面的数据过期&#xff0c;此时刚好大量用户进行请求&…

Linux的五种IO模型

众所周知&#xff0c;出于对 OS 安全性的考虑&#xff0c;用户进程是不能直接操作 I/O 设备的。必须通过系统调用请求操作系统内核来协助完成 I/O 动作。 下图展示了 Linux I/O 的过程。 操作系统内核收到用户进程发起的请求后&#xff0c;从 I/O 设备读取数据到 kernel buff…

使用PM2,在生产环境稳定运行你的node项目

PM2 一个 node&#xff0c;本身就用几行代码&#xff0c;就可以启动个 server 进程&#xff0c;监听个端口&#xff0c;为大家提供 Web 服务 一、依赖安装 npm install pm2 -g 二、命令行启动 普通执行启动 pm2 start <js 文件路径 >.js 携带参数启动 pm2 start < 某种…

AR眼镜_AR智能眼镜整机硬件方案定制

AR眼镜的主要模块包括显示、光学模组、传感器和摄像头、主板、音频和网络连接等。其中&#xff0c;光学显示、主板处理器是决定AR眼镜成本的关键&#xff0c;光机占整体AR眼镜成本43%、处理器占整体成本31%。 AR眼镜的主板设计难点在于尺寸要足够小且要处理好散热问题。主板上的…

Fuzz入门教学——污点分析

1、简介 污点分析是一种用于检测和防止安全漏洞的技术。它关注数据流中的敏感信息&#xff08;污点&#xff09;如何在程序中传播&#xff0c;从而导致安全风险。这种分析通常用于发现潜在的安全漏洞&#xff0c;例如隐私数据泄露或者对数据完整性的威胁。污点分析标记程序中的…

集成显卡Intel® UHD Graphics 630 安装Pytorch

安装Pytorch是为了搭建maskrcnn环境。 查了一圈发现&#xff1a; 显卡Intel UHD Graphics 630是集成显卡&#xff0c;所以不能安装cuda和cudann&#xff0c;也不能使用GPU加速 所以也需要放弃在该电脑上的用VMware新建Ubuntu虚拟机&#xff0c;然后安装有cuda版本的Pytorch&a…

2023-12-08 队列与栈

栈与队列一 232. 用栈实现队列 思路&#xff1a;对于使用栈实现队列的话&#xff0c;必须使用两个共同来维护使得每次都能先进先出&#xff01; class MyQueue:def __init__(self):# 需要建立两个list来维护出栈以及进栈self.stack_in []self.stack_out []def push(self, x…

C# 两个日期比较大小

文章目录 C# 两个日期比较大小直接比较大小工具类DateTime.Compare C# 两个日期比较大小 直接比较大小 string ed "2023-12-13 09:27:59.000";//过去式DateTime nowDateTime DateTime.Now;DateTime expirationDate Convert.ToDateTime(ed);//质保期 长日期DateT…

压缩pdf怎么压缩又小又清晰?超级实用!

当PDF文件过大时&#xff0c;很容易遇到无法上传等现象&#xff0c;这时候我们可以借助一些专业的压缩工具&#xff0c;将PDF文件压缩变小&#xff0c;如果你还不知道怎么做&#xff0c;下面就来看下具体的压缩方法吧。 方法一&#xff1a;使用嗨格式压缩大师 1、打开电脑上安…

【Debug小结】关于部署Java项目的Jar包到本地服务器失败

问题描述&#xff1a; 在Idea中完成项目编码后&#xff0c;使用Package打包成.jar文件 接下来使用cmd执行java -jar xxx 命令后 报错如下&#xff1a;Error: A JNI error has occurred, please check your installation and try again Exception in thread "main" j…

【内存函数】

目录 memcpy使用和模拟实现memmove使用和模拟实现memset使用memcmp使用 1. memcpy使用和模拟实现 void * memcpy ( void * destination, const void * source, size_t num) ; 函数memcpy从source的位置开始向后复制num个字节的数据到destination指向的内存的位置这个函数在遇到…

【Jenkins】Centos环境安装Jenkins(通过docker安装)

通过docker环境安装Jenkins 参考官网 https://hub.docker.com/r/jenkins/jenkins/ 1、安装docker环境 # 删除已有安装包 sudo yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-…