python对象和JSON格式数据如何相互转化? 只需要用到这四个方法。
ztj100 2025-01-12 20:22 10 浏览 0 评论
json是一种轻量级的数据格式,主要特点易于人阅读和编写 ,故现在成为前后端数据交互的一种通用格式 。
1.用途
- 前后端数据交互和传递的通用格式
- 在自动化时要保存的数据格式 。
以下为json格式 :
{
"name" : "李四" ,
"age" : 22,
"sex" : "女"
}
从格式上说,python中的字典和json基本一致, 但又属于不同的数据类型 。想要使它们之间进行相互转化就必须使用到一个中间库 ,这个库就是json . json在python3.x后是自带的,可以直接导入使用 。
2.python与json数据类型的映射关系
Python | JSON |
dict | object |
list, tuple | array |
str, unicode | string |
int, long, float | number |
True | true |
False | false |
None | null |
3.json常用方法
两者之间的转化是通过以下的四个方法 ,
方法 | 描述 |
json.dumps() | 将 Python 对象编码成 JSON 字符串 |
json.loads() | 将已编码的 JSON 字符串解码为 Python 对象 |
json.dump() | 将Python内置类型序列化为json对象后写入文件 |
json.load() | 读取文件中json形式的字符串元素转化为Python类型 |
将以上的方法进行总结后,有着这样的规律 。
4.示例
使用loads()和dumps()相互转化
import json
data = {
'name' : '张三' ,
'age' : '21',
'sex' : '男' ,
'address' : None,
'is_marry' : False
}
print("data的数据类型:{}".format(type(data)))
json_type_data = json.dumps(data)
print(json_type_data)
print("将python类型转化为json对象:{}".format(type(json_type_data)))
print("="*30)
python_type_data = json.loads(json_type_data)
print(type(python_type_data))
print("将json对象转化为python对象:{}".format(python_type_data))
使用load()和dump()相互转化
print("="*30)
with open('test_data.json','r+',encoding='utf-8') as f:
z = json.load(f)
print("从文件中读取的json数据为:{}".format(type(z)))
print(z)
data = {
'name' : '张三' ,
'age' : '21',
'sex' : '男' ,
'address' : None,
'is_marry' : False
}
print("="*30)
z = json.dumps(data,ensure_ascii=False)
with open('test_data1.json','w+',encoding='utf-8') as f:
f.write(z)
相关推荐
- MySQL的10种常用数据类型(列举mysql中常见的数据类型)
-
MySQL的数据类型常用的数据类型有:整型(xxxint)位类型(bit)...
- 大数据量惯用优化方法(大数据 量化)
-
优化人员工作时免不了要接触到大数据量的问题,下面就将平时收集的一些关于大数据量的优化方法整理记录一下,也是和大家一起共享哦。1.应尽量避免在where子句中对字段进行null值判断,否则将导致...
- MYSQL有哪些数据类型(mysql数据类型主要包括)
-
整理下以便查阅,还想吐槽下:这头条怎么就不能给文章分类呢?整数类型...
- Qt实现表格树控件-自绘树节点虚线
-
一、开心一刻...
- 如何在Qt中实现图形打印?(小学一年级数学图形图片打印)
-
在Qt中,可以使用QPrinter类和QPainter类来实现图形的打印功能。以下是一个简单的示例,演示了如何在Qt中进行图形的打印:...
- Qt组件库之桌面图标系统实现(qt组件库之桌面图标系统实现了)
-
先来看看实现效果之前效果都放在最后,是不是大家不看到最后就走了, ̄□ ̄||,所以打算以后就先放效果在写实现方法。...
- QT实现抖动文字和滚动文字,附源码
-
前言不知道大家有没有发现今天的文章有什么不一样,哈哈,我自己胡拼乱凑弄了一个logo,好不好看就先不说了,最起码萌萌哒...当然这不是今天的重点,在做logo的时候,我原本想让文字动起来的,奈何技术有...
- Qt 图形(QPainterPath)(qt图形界面教程)
-
简述QPainterPath类提供了一个容器,用于绘图操作,可以创建和重用图形形状。...
- Qt在数据可视化项目实战:C++仪表板开发
-
Qt里面搞数据可视化,咱今儿就聊聊怎么用C++整一个漂亮的仪表盘。...
- 实战PyQt5: 152-QChart图表之日期时间坐标轴
-
在统计图表中,使用时间作为某一坐标轴的情况非常常见,比如,常见的一年间月度销售统计,财务统计等等。在QChart中提供了日期时间坐标轴QDateTimeAxis类可以方便地将日期和时间添加到图表的坐标...
- 我的Qt五子棋AI已连胜238局,不服的来战!
-
AlphaGo之父DemisHassabis曾指出...
- Qt 自适应图片之scaled()函数详解
-
如何在改变窗口组件的情况下改变窗口背景图片的大小,我们通常会使用Qt自带的scaled()函数;QImage、QPixmap等绘图设备类都提供scaled()函数。...
- PyQt5界面美化(一)(pyqt5酷炫界面)
-
借助FittenCode插件进行PyQt5界面美化!例如从网上找到一张漂亮的UI示意图:接下来借助FittenCode插件一步一步实现如上图中的界面。首先我们先进行提问,它会给出一个大致框架的代码...
- 多线程Qt下的八条规则(qt多线程直接处理数据)
-
相信资深Qter都认识GiuseppeD’Angelo,这位有着二十多年Qt开发经验,Qt源码行数贡献的最多的开发者之一,同时也是Qt项目的审批者,所说话的份量不言而喻。原文作者:...
你 发表评论:
欢迎- 一周热门
- 最近发表
- 标签列表
-
- idea eval reset (50)
- vue dispatch (70)
- update canceled (42)
- order by asc (53)
- spring gateway (67)
- 简单代码编程 贪吃蛇 (40)
- transforms.resize (33)
- redisson trylock (35)
- 卸载node (35)
- np.reshape (33)
- torch.arange (34)
- node卸载 (33)
- npm 源 (35)
- vue3 deep (35)
- win10 ssh (35)
- exceptionininitializererror (33)
- vue foreach (34)
- idea设置编码为utf8 (35)
- vue 数组添加元素 (34)
- std find (34)
- tablefield注解用途 (35)
- python str转json (34)
- java websocket客户端 (34)
- tensor.view (34)
- java jackson (34)