json.loads()
Coddy Python JSON 课程的第 7 课,共 9 课。
json.loads() 函数是 Python 的 json 模块中非常重要的一部分。它用于解析 JSON 字符串,并将其转换为 Python 对象。这个过程也称为反序列化。
基本用法
以下是 json.loads() 的基本语法:
import json
python_object = json.loads(json_string)
该函数接收 JSON 格式的字符串作为输入,并返回对应的 Python 对象。
示例
我们来把一个 JSON 字符串解析为 Python 对象:
import json
json_string = '{"name": "John", "age": 30, "city": "New York"}'
parsed_data = json.loads(json_string)
print(type(parsed_data)) # 输出:<class 'dict'>
print(parsed_data) # 输出:{'name': 'John', 'age': 30, 'city': 'New York'}
数据类型转换
json.loads() 会自动将 JSON 数据类型转换为对应的 Python 数据类型:
- JSON 对象会变成 Python 字典
- JSON 数组会变成 Python 列表
- JSON 字符串会变成 Python 字符串
- JSON 数字会变成 Python int 或 float
- JSON true 会变成 Python True
- JSON false 会变成 Python False
- JSON null 会变成 Python None
如果你需要在 Python 中处理 JSON 数据,这个函数就必不可少,例如接收 API 返回的数据或读取 JSON 文件时。
这节课包含一个小测验。开始学习即可作答,并记录你的进度。
这节课包含一个小测验。开始学习即可作答,并记录你的进度。
这节课包含一个小测验。开始学习即可作答,并记录你的进度。
挑战
简单创建一个函数,用于解析包含书籍信息的 JSON 字符串,并对解析后的数据执行特定操作。该函数应:
- 使用
json.loads()解析输入的 JSON 字符串。 - 从解析后的数据中提取以下信息:
- 书名
- 页数
- 作者列表
- 执行以下操作:
- 将书名转换为大写
- 将页数增加 10
- 按字母顺序对作者列表排序
- 创建一个包含修改后数据的新字典。
- 返回一个符合以下格式的字符串:"TITLE | Pages: X | Authors: A, B, C"
将提供以下输入:
{"title": "Python Programming", "pages": 300, "authors": ["John Smith", "Alice Johnson", "Bob Wilson"]}
打印生成的字符串。
亲手试试
import json
# 读取输入
json_string = input()
# TODO: 在下方编写你的代码
def parse_and_modify_book_data(json_string):
# 解析 JSON 字符串
# 提取所需信息
# 修改数据
# 用修改后的数据创建一个新字典
# 格式化结果字符串
return result_string
# 调用函数并打印结果
print(parse_and_modify_book_data(json_string))Python JSON中的所有课
自己练习: Python 在线编译器