Python Json处理
JSON
- JSON 是用于存储和交换数据的语法,是一种轻量级的数据交换格式。
- 使用场景
- 接口数据传输
- 序列化
- 配置文件
JSON 结构
- 键值对形式
- 数组形式
{ "language": [ { "name": "python", "url": "https://www.python.org/" }, { "name": "java", "url": "https://www.java.com/zh-CN/" } ] }
Python 与 JSON 数据类型对应
json 库
- 可以从字符串或文件中解析 JSON
- 该库解析 JSON 后将其转为 Python 字典或者列表
常用方法
dumps()
:将 Python 对象编码成 JSON 字符串loads()
:解码 JSON 数据,该函数返回 Python 对象dump()
: Python 对象编码,并将数据写入 json 文件中load()
:从 json 文件中读取数据并解码为 Python 对象
区别:dumps会转换成字符串,dump只是对象转文件(具体可以看源码)
import json
data = {
'a':1,
'b':['2','3'],
'c':True,
'd':False,
'e':None
}
#将python对象转换为Json字符串
json_data = json.dumps(data)
print(json_data)
#定义一个json字符串
#将Json字符串转换为python对象
python_data = json.loads(json_data)
print(python_data)
print(type(python_data))
#把python对象转换为json格式的数据并且写入json文件
with open('data.json','w') as f:
json.dump(data,f)
#读取json文件并且转换为python对象
with open('data.json','r') as f:
data = json.load(f)
print(data)
print(type(data))
dumps 常用参数
indent
:根据数据格式缩进显示,默认为 None,没有缩进ensure_ascii
:对中文使用 ASCII 编码,默认为 True
#使用indent和ascii
json_data_1 = json.dumps(data,ensure_ascii=False,indent=4)
print(json_data_1)
分类:
python
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix