在本节中,我们将详细介绍 Python 标准库中的 json
模块。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它易于阅读和编写,并且可以在不同的编程语言之间轻松地传输数据。Python 的 json
模块提供了一个简单的方法来编码和解码 JSON 数据。我们将通过实例代码来学习其用法。
json
模块主要提供了以下几个功能:
json.loads()
json.load()
json.dumps()
json.dump()
接下来,我们将分别介绍这些功能。
1. json.loads()
json.loads()
函数用于将一个 JSON 格式的字符串转换为 Python 对象(如字典、列表、字符串、整数、浮点数和布尔值)。
import json
json_str = '{"name": "John", "age": 30, "city": "New York"}'
python_obj = json.loads(json_str)
print(python_obj) # 输出:{'name': 'John', 'age': 30, 'city': 'New York'}
print(type(python_obj)) # 输出:<class 'dict'>
2. json.load()
json.load()
函数用于从一个包含 JSON 数据的文件对象中读取数据,并将其转换为 Python 对象。假设我们有一个名为 data.json
的文件,其内容如下:
{
"name": "John",
"age": 30,
"city": "New York"
}
我们可以使用 json.load()
函数读取该文件并将其内容转换为 Python 对象:
import json
with open("data.json", "r") as file:
python_obj = json.load(file)
print(python_obj) # 输出:{'name': 'John', 'age': 30, 'city': 'New York'}
print(type(python_obj)) # 输出:<class 'dict'>
3. json.dumps()
json.dumps()
函数用于将 Python 对象转换为 JSON 格式的字符串。这在将数据发送到其他语言处理或存储到文件中时非常有用。
import json
python_obj = {"name": "John", "age": 30, "city": "New York"}
json_str = json.dumps(python_obj)
print(json_str) # 输出:'{"name": "John", "age": 30, "city": "New York"}'
print(type(json_str)) # 输出:<class 'str'>
4. json.dump()
json.dump()
函数用于将 Python 对象转换为 JSON 数据,并将其写入到一个文件对象中。假设我们想将上述 Python 对象保存到一个名为 output.json
的文件中,我们可以使用 json.dump()
函数:
import json
python_obj = {"name": "John", "age": 30, "city": "New York"}
with open("output.json", "w") as file:
json.dump(python_obj, file)
这将在当前目录下创建一个名为 output.json
的文件,其内容为:
{
"name": "John",
"age": 30,
"city": "New York"
}
现在,您应该对 Python json
模块有了一个基本的了解。这些函数可以帮助您在 Python 程序中方便地处理 JSON 数据。在实际编程过程中,您可以根据需要使用这些函数来编码和解码 JSON 数据。