python中的JSON模块详解

简介: JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,它使得人们很容易的进行阅读和编写同时也方便了机器进行解析和生成。适用于进行数据交互的场景,比如网站前台与后台之间的数据交互。

 简介

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,它使得人们很容易的进行阅读和编写

同时也方便了机器进行解析和生成。适用于进行数据交互的场景,比如网站前台与后台之间的数据交互

 

网址

官方文档

json — JSON encoder and decoder — Python 3.11.4 documentation

在线解析网站

JSON在线解析及格式化验证 - JSON.cn

使用

引入

import json

 

json.loads()

把Json字符串解码为Python数据【内置四种类型/列表/字典】

str = '123'

print(json.loads(str)) #123

strList = '[1,2,3,4]'

print(json.loads(strList))  # [1, 2, 3, 4]\

strDict = '{"city": "北京", "name": "范爷"}'

print(json.loads(strDict))  # {'city': '北京', 'name': '范爷'}


如果传入的字符串的编码不是UTF-8的话,需要指定字符编码的参数

data_dict = json.loads(jsonStrGBK, encoding="GBK");


如果 dataJsonStr通过encoding指定了合适的编码,但是其中又包含了其他编码的字符,

则需要先去将dataJsonStr转换为Unicode,然后再指定编码格式调用json.loads()

dataJsonStrUni = dataJsonStr.decode("GB2312");

dataDict = json.loads(dataJsonStrUni, encoding="GB2312");


 

json.dumps()

把python数据【内置四种类型/列表/字典】转化为json字符串

默认使用ascii编码【添加参数 ensure_ascii=False 禁用ascii编码,按utf-8编码】

dictStr = {"city": "北京", "name": "范爷"}

print(json.dumps(dictStr, ensure_ascii=False))  # {"city": "北京", "name": "范爷"}

 

json.dump()

将Python内置类型序列化为json对象后写入文件

listStr = [{"city": "北京"}, {"name": "范爷"}]

json.dump(listStr, open("listStr.json", "w"), ensure_ascii=False)

dictStr = {"city": "北京", "name": "范爷"}

json.dump(dictStr, open("dictStr.json", "w"), ensure_ascii=False)

 

json.load()

读取文件中json形式的字符串元素,转化成python类型

strList = json.load(open("listStr.json"))

strDict = json.load(open("dictStr.json"))          

相关文章
|
4天前
|
JSON 数据格式 索引
Python中序列化/反序列化JSON格式的数据
【11月更文挑战第4天】本文介绍了 Python 中使用 `json` 模块进行序列化和反序列化的操作。序列化是指将 Python 对象(如字典、列表)转换为 JSON 字符串,主要使用 `json.dumps` 方法。示例包括基本的字典和列表序列化,以及自定义类的序列化。反序列化则是将 JSON 字符串转换回 Python 对象,使用 `json.loads` 方法。文中还提供了具体的代码示例,展示了如何处理不同类型的 Python 对象。
|
9天前
|
Java 程序员 开发者
Python的gc模块
Python的gc模块
|
12天前
|
数据采集 Web App开发 JavaScript
python-selenium模块详解!!!
Selenium 是一个强大的自动化测试工具,支持 Python 调用浏览器进行网页抓取。本文介绍了 Selenium 的安装、基本使用、元素定位、高级操作等内容。主要内容包括:发送请求、加载网页、元素定位、处理 Cookie、无头浏览器设置、页面等待、窗口和 iframe 切换等。通过示例代码帮助读者快速掌握 Selenium 的核心功能。
54 5
|
16天前
|
Python
SciPy 教程 之 SciPy 模块列表 6
SciPy教程之常量模块介绍:涵盖公制、二进制(字节)、质量、角度、时间、长度、压强、体积、速度、温度、能量、功率及力学单位。示例展示了角度单位转换为弧度的几个常用常量。
17 7
|
16天前
|
Python
SciPy 教程 之 SciPy 模块列表 7
`scipy.constants` 模块提供了常用的时间单位转换为秒数的功能。例如,`constants.hour` 返回 3600.0 秒,表示一小时的秒数。其他常用时间单位包括分钟、天、周、年和儒略年。
16 6
|
13天前
|
Python
SciPy 教程 之 SciPy 模块列表 13
SciPy教程之SciPy模块列表13:单位类型。常量模块包含多种单位,如公制、二进制(字节)、质量、角度、时间、长度、压强、体积、速度、温度、能量、功率和力学单位。示例代码展示了如何使用`constants`模块获取零摄氏度对应的开尔文值(273.15)和华氏度与摄氏度的转换系数(0.5556)。
15 1
|
14天前
|
XML 前端开发 数据格式
超级详细的python中bs4模块详解
Beautiful Soup 是一个用于从网页中抓取数据的 Python 库,提供了简单易用的函数来处理导航、搜索和修改分析树。支持多种解析器,如 Python 标准库中的 HTML 解析器和更强大的 lxml 解析器。通过简单的代码即可实现复杂的数据抓取任务。本文介绍了 Beautiful Soup 的安装、基本使用、对象类型、文档树遍历和搜索方法,以及 CSS 选择器的使用。
34 1
|
15天前
|
Python
SciPy 教程 之 SciPy 模块列表 9
SciPy教程之常量模块介绍,涵盖多种单位类型,如公制、质量、角度、时间、长度、压强等。示例展示了如何使用`scipy.constants`模块查询不同压强单位对应的帕斯卡值,包括atm、bar、torr、mmHg和psi。
12 1
|
15天前
|
Python
SciPy 教程 之 SciPy 模块列表 8
SciPy教程之常量模块单位类型介绍。该模块包含多种单位,如公制、质量、角度、时间、长度、压强、体积、速度、温度、能量、功率和力学单位。示例展示了部分长度单位的转换值,例如英寸、英尺、海里等。
13 1
|
17天前
|
知识图谱 Python
SciPy 教程 之 SciPy 模块列表 5
本教程介绍SciPy常量模块中的单位类型,涵盖公制、质量、时间、长度等单位。示例代码展示了如何使用`scipy.constants`模块获取不同质量单位的千克值,如公吨、磅、盎司、原子质量单位等。
13 1
下一篇
无影云桌面