Python 中的 JSON 常见用法实例详解
什么是 JSON?
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,它基于 JavaScript 的语法规则,但具有更加简单易读的特点。JSON 格式的数据可以被快速解析和生成,是一种纯文本格式,可以通过网络进行通信,也可以存储在本地。因此它在 Web 应用中得到了广泛的使用。
一个 JSON 格式的数据通常由 key/value 键值对组成,其中 key 通常为字符串类型,而 value 可以是任意 JSON 支持的数据类型。
Python 中的 JSON 库
Python 中提供了一个内置的 json
模块,用于对 JSON 格式的数据进行解析和生成。
解析 JSON 数据
Python 中,可以使用 json.loads()
方法将 JSON 格式的字符串转换为 Python 对象(如字典、列表)。
import json
json_str = '{"name": "Tom", "age": 18}'
json_dict = json.loads(json_str)
print(json_dict)
输出结果为:
{'name': 'Tom', 'age': 18}
生成 JSON 数据
Python 中,可以使用 json.dumps()
方法将 Python 对象(如字典、列表等)转换为 JSON 格式的字符串。
import json
json_dict = {'name': 'Tom', 'age': 18}
json_str = json.dumps(json_dict)
print(json_str)
输出结果为:
{"name": "Tom", "age": 18}
处理 JSON 文件
Python 中,可以使用 json.load()
方法读取 JSON 文件并生成 Python 对象,也可以使用 json.dump()
方法将 Python 对象写入 JSON 文件。
import json
# 读取 JSON 文件并生成 Python 对象
with open('data.json', 'r') as f:
data = json.load(f)
print(data)
# 将 Python 对象写入 JSON 文件
data = {'name': 'Tom', 'age': 18}
with open('data.json', 'w') as f:
json.dump(data, f)
其中,data.json
为 JSON 格式的文件。
示例说明
示例1:解析 JSON 数据并处理
假设有一个名为 data.json
的 JSON 格式文件,其内容如下:
{
"name": "Tom",
"age": 18,
"gender": "male",
"hobbies": ["reading", "swimming"],
"scores": {
"math": 90,
"english": 85
}
}
现在需要对这个数据进行处理,可以采用以下方式:
import json
# 读取 JSON 文件并生成 Python 对象
with open('data.json', 'r') as f:
data = json.load(f)
print(f'name:{data["name"]}')
print(f'age:{data["age"]}')
print(f'gender:{data["gender"]}')
print(f'hobbies:{data["hobbies"]}')
print(f'scores:{data["scores"]}')
输出结果为:
name:Tom
age:18
gender:male
hobbies:['reading', 'swimming']
scores:{'math': 90, 'english': 85}
示例2:生成 JSON 数据并写入文件
假设需要生成以下 JSON 格式的数据,并写入到指定文件中。
[
{
"name": "Tom",
"age": 18
},
{
"name": "Lucy",
"age": 20
}
]
可以采用以下代码:
import json
data = [
{
"name": "Tom",
"age": 18
},
{
"name": "Lucy",
"age": 20
}
]
# 将 Python 对象写入 JSON 文件
with open('result.json', 'w') as f:
json.dump(data, f, ensure_ascii=False, indent=4)
其中,ensure_ascii=False
表示在输出结果中不使用 ASCII 编码,indent=4
表示输出结果显示时,使用 4 个空格作为缩进。
输出结果为:
[
{
"name": "Tom",
"age": 18
},
{
"name": "Lucy",
"age": 20
}
]
以上是示例说明,更多关于 Python 中 JSON 的使用,请参考官方文档。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python 中的json常见用法实例详解 - Python技术站