简介
json
模块是Python标准库中的一个用于处理JSON数据的模块,它提供了一组方法来进行 JSON 数据的解析和生成。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,常用于数据传输和配置文件。
下面是json
模块的一些常用方法:
1.json.loads()
: 用于将 JSON 字符串解码为 Python 对象,例如字典或列表。
2.json.dumps()
: 用于将 Python 对象编码为 JSON 字符串。
3.json.load()
: 从文件中读取 JSON 数据并解码。
4.json.dump()
: 将 JSON 数据编码并写入文件。
也可以查看json中的一些别的方法(下面结果是在python3.6.8中展示)
应用
Python字典类型转换JSON 对象
import json# Python 字典类型转换为 JSON 对象
data = {'no' : 1,'name' : 'Runoob','url' : 'http://www.runoob.com'
}json_str = json.dumps(data)
print ("Python 原始数据:", repr(data),type(data))
print(repr('sss'))
print ("JSON 对象:", json_str,type(json_str))
JSON 对象转换为Python 字典
import json# Python 字典类型转换为 JSON 对象
data1 = {'no' : 1,'name' : 'Runoob','url' : 'http://www.runoob.com'
}json_str = json.dumps(data1)
print ("Python 原始数据:", repr(data1))
print ("JSON 对象:", json_str)# 将 JSON 对象转换为 Python 字典
data2 = json.loads(json_str)
print ("data2['name']: ", data2['name'])
print ("data2['url']: ", data2['url'])
写入及读取json数据
import jsondata = {'no' : 1,'name' : 'Runoob','url' : 'http://www.runoob.com'
}
# 写入 JSON 数据
with open('test.json', 'w') as f:json.dump(data, f)# 读取数据
with open('test.json', 'r') as f:data1 = json.load(f)print(data1)
别的读取方式
下面是一个简单的示例,演示了如何使用json
模块将Python对象转换为JSON字符串并保存到文件中:
import json# Python对象
data = {"name": "Alice","age": 30,"city": "New York"
}# 将Python对象编码为JSON字符串
json_str = json.dumps(data)# 将JSON字符串写入文件
with open("data.json", "w") as file:file.write(json_str)
另一个示例是如何从文件中读取JSON数据并解码为Python对象:
import json# 从文件中读取JSON数据并解码
with open("data.json", "r") as file:json_str = file.read()data = json.loads(json_str)# 打印解码后的Python对象
print(data)
结论:json
模块在处理 API 响应、配置文件、日志记录等方面非常常用。它提供了简单易用的方法来处理 JSON 数据,方便在 Python 中进行数据的序列化和反序列化操作。