Python解析JSON并遍历键值对的完整方法

许南星
许南星
发布时间:2026-10-12 | 4人浏览过
原创

在Python中处理JSON数据时,需先将字符串解析为字典或列表对象。通过json.loads()转换后,可使用items()方法遍历顶层键值对,结合直接索引访问嵌套字典,或利用循环遍历数组元素。本文详细演示解析流程、多维数据结构遍历方法及安全访问注意事项。

JSON 数据解析与基础遍历流程

第1步:将 JSON 字符串转换为 Python 对象

Python 内置的 json 模块提供了解析能力。调用 loads() 函数可将合法的 JSON 格式字符串转为对应的 Python 字典(对象)或列表(数组),这是后续遍历的前提条件。

import json

data = '{"name": "Alice", "age": 25, "skills": ["Python", "Java", "C++"], "address": {"city": "Beijing", "country": "China"}}'
result = json.loads(data)

第2步:使用 items() 遍历键值对

成功解析为字典后,可通过 .items() 方法获取所有键值对视图。该视图返回可迭代的元组序列,配合解包语法可直接提取每个字段名及其对应内容:

for key, value in result.items():
    print(key, value)

执行上述代码将按解析顺序输出各字段的原始映射关系。当遇到嵌套结构时,输出的 value 仍保留为字典或列表类型,便于二次处理。

第3步:处理嵌套字典与数组

实际业务中的 JSON 常包含多层级数据。针对子字典和数组,应采用不同的访问策略:

  • 嵌套字典:支持链式索引直接定位目标层级。例如获取城市名称只需逐层指定键名。
print(result['address']['city'])  # 输出: Beijing
  • 数组/列表:遍历集合元素直接使用标准循环。若需同时获取索引与值,可搭配 enumerate() 函数。
  • for skill in result['skills']:
        print(skill)

    通用字典遍历与异常防护

    非 JSON 场景下的键值对提取

    当数据本身已是 Python 字典而非 JSON 字符串时,同样适用 items() 迭代模式。此方法广泛用于配置项读取、表单数据处理等场景:

    user_info = {
        'Tom': 18,
        'Jerry': 12,
        'Bob': 23,
        'Ann': 31
    }
    
    for k, v in user_info.items():
        print(f"Key:{k},Value:{v}")

    安全访问与常见风险提示

    直接索引操作在字段不存在时会抛出 KeyError。生产环境中建议采取以下防护措施:

    1. 使用 dict.get(key, default) 进行安全取值,缺失时返回默认值而不中断程序。
    2. 遍历前通过 in 关键字校验键名是否存在于目标集合中。
    3. 确认外部输入数据的结构完整性,避免解析非法 JSON 引发 JSONDecodeError,必要时包裹 try...except 块进行容错处理。

    总结

    以上就是 Python 解析 JSON 并遍历键值对的详细内容,更多关于 Python 数据处理与字典高级操作的资料请关注本站其它相关文章!

    相关标签:

    本站声明

    本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

    Python 相关产品和应用

    全部下载

    专题列表