Menu
CoddyTech

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 文件时。

quiz icon自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

quiz icon自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

quiz icon自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

challenge icon

挑战

简单

创建一个函数,用于解析包含书籍信息的 JSON 字符串,并对解析后的数据执行特定操作。该函数应:

  1. 使用 json.loads() 解析输入的 JSON 字符串。
  2. 从解析后的数据中提取以下信息:
    • 书名
    • 页数
    • 作者列表
  3. 执行以下操作:
    • 将书名转换为大写
    • 将页数增加 10
    • 按字母顺序对作者列表排序
  4. 创建一个包含修改后数据的新字典。
  5. 返回一个符合以下格式的字符串:"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 在线编译器