Python解析JSON并遍历键值对的完整方法
在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。生产环境中建议采取以下防护措施:
- 使用
dict.get(key, default)进行安全取值,缺失时返回默认值而不中断程序。 - 遍历前通过
in关键字校验键名是否存在于目标集合中。 - 确认外部输入数据的结构完整性,避免解析非法 JSON 引发
JSONDecodeError,必要时包裹try...except块进行容错处理。
总结
以上就是 Python 解析 JSON 并遍历键值对的详细内容,更多关于 Python 数据处理与字典高级操作的资料请关注本站其它相关文章!
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













