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"))          

相关文章
|
5天前
|
Python
【Python进阶(五)】——模块搜索及工作目录
【Python进阶(五)】——模块搜索及工作目录
|
2天前
|
Python
【Python3 查询手册学习】,完整版PDF开放下载_python速查手册·模块卷(全彩版) pdf(1)
【Python3 查询手册学习】,完整版PDF开放下载_python速查手册·模块卷(全彩版) pdf(1)
|
3天前
|
Python
Python使用typing模块(从Python 3.5开始)
【5月更文挑战第10天】Python使用typing模块(从Python 3.5开始)
13 3
|
5天前
|
Python
在Python中,利用`os模块`的`path.exists()`函数可判断文件是否存
【5月更文挑战第12天】在Python中,利用`os模块`的`path.exists()`函数可判断文件是否存在,该函数对路径进行检查,存在则返回True,不存在则返回False。示例代码展示了如何检查'example.txt'文件是否存在并相应打印消息。此外,`os.path.isfile()`用于确认路径是否为文件,仅当是文件时返回True,否则返回False,同样配以示例说明其用法。
23 2
|
5天前
|
Python Windows
python中的异常与模块
python中的异常与模块
12 1
|
5天前
|
存储 JSON 编解码
python之simplejson:JSON 编/解码器示例详解
python之simplejson:JSON 编/解码器示例详解
10 0
|
5天前
|
JSON 数据格式 索引
python之JMESPath:JSON 查询语法库示例详解
python之JMESPath:JSON 查询语法库示例详解
16 0
|
5天前
|
JSON 数据格式 Python
Python标准库中包含了json模块,可以帮助你轻松处理JSON数据
【4月更文挑战第30天】Python的json模块简化了JSON数据与Python对象之间的转换。使用`json.dumps()`可将字典转为JSON字符串,如`{"name": "John", "age": 30, "city": "New York"}`,而`json.loads()`则能将JSON字符串转回字典。通过`json.load()`从文件读取JSON数据,`json.dump()`则用于将数据写入文件。
18 1
|
5天前
|
JSON 数据格式 Python
Python处理JSON数据
【4月更文挑战第30天】该内容介绍了Python处理JSON数据的三个方法:1)使用`json.loads()`尝试解析字符串以验证其是否为有效JSON,通过捕获`JSONDecodeError`异常判断有效性;2)通过`json.dumps()`的`indent`参数格式化输出JSON数据,使其更易读;3)处理JSON中的日期,利用`dateutil`库将日期转换为字符串进行序列化和反序列化。
23 4
|
5天前
|
Python
Python实现压缩解压---tarfile模块详解
Python实现压缩解压---tarfile模块详解