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)

浙公网安备 33010602011771号