如何在Python中使用JSON解析和生成函数?
发布时间:2023-07-02 15:50:37
JSON (JavaScript Object Notation) 是一种常用于数据交换的轻量级数据格式,广泛应用于互联网应用中。Python 提供了 json 模块,可以方便地解析和生成 JSON 数据。
在 Python 中,使用 json 模块可以进行以下操作:
1. 将 JSON 字符串解析为 Python 对象
2. 将 Python 对象转换为 JSON 字符串
3. 通过键值对方式访问 JSON 对象
4. 遍历 JSON 对象或数组
下面是对以上操作的详细说明:
1. 将 JSON 字符串解析为 Python 对象:
使用 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'}
2. 将 Python 对象转换为 JSON 字符串:
可以使用 json 模块的 dumps() 函数将 Python 对象转换为 JSON 字符串。可以通过参数 indent 控制生成的 JSON 字符串的缩进级别,该参数是可选的。示例代码如下:
import json
python_obj = {'name': 'John', 'age': 30, 'city': 'New York'}
json_str = json.dumps(python_obj, indent=4)
print(json_str) # 输出 {"name": "John", "age": 30, "city": "New York"}
3. 通过键值对方式访问 JSON 对象:
将 JSON 字符串解析为 Python 对象后,可以通过键值对的方式来访问 JSON 对象的值。示例代码如下:
import json
json_str = '{"name": "John", "age": 30, "city": "New York"}'
python_obj = json.loads(json_str)
name = python_obj['name']
age = python_obj['age']
print(name, age) # 输出 John 30
4. 遍历 JSON 对象或数组:
如果 JSON 对象中包含数组,可以使用 for 循环来遍历数组中的元素。示例代码如下:
import json
json_str = '[{"name": "John", "age": 30}, {"name": "Mike", "age": 25}]'
json_arr = json.loads(json_str)
for item in json_arr:
name = item['name']
age = item['age']
print(name, age) # 输出 John 30 和 Mike 25
上述是使用 json 模块进行 JSON 解析和生成的基本操作,可以根据实际需求进行进一步的操作和扩展。
