百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术分类 > 正文

python对象和JSON格式数据如何相互转化? 只需要用到这四个方法。

ztj100 2025-01-12 20:22 10 浏览 0 评论

json是一种轻量级的数据格式,主要特点易于人阅读和编写 ,故现在成为前后端数据交互的一种通用格式 。

1.用途

  • 前后端数据交互和传递的通用格式
  • 在自动化时要保存的数据格式 。

以下为json格式 :

Bash
{
    "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()相互转化

Bash
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数据类型主要包括)

整理下以便查阅,还想吐槽下:这头条怎么就不能给文章分类呢?整数类型...

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项目的审批者,所说话的份量不言而喻。原文作者:...

取消回复欢迎 发表评论: