You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Python的for循环遍历多JSON文件并访问指定对象属性

解决Python遍历JSON文件访问assigned_object['name']的KeyError问题

你的错误是因为错误地将assigned_object["name"]作为单个键去访问,正确的做法是逐层访问嵌套字典:先获取assigned_object对应的子字典,再从中提取name字段。

以下是完整的实现代码:

import os
import json

# 遍历当前目录下所有JSON文件
for filename in os.listdir('.'):
    if filename.endswith('.json'):
        with open(filename, 'r', encoding='utf-8') as file:
            try:
                json_data = json.load(file)
                # 正确访问嵌套属性:先取assigned_object,再取name
                device_name = json_data['assigned_object']['name']
                print(f"{filename}: {device_name}")
            except KeyError as err:
                print(f"{filename} 缺失必要键:{err}")
            except json.JSONDecodeError:
                print(f"{filename} 不是有效的JSON文件")

关键说明:

  • 筛选JSON文件:通过endswith('.json')确保只处理目标文件,避免遍历无关文件
  • 安全读取文件:使用with上下文管理器自动关闭文件,无需手动处理资源释放
  • 嵌套字典访问:必须分两步获取值,不能直接用data['assigned_object["name"]']这种错误写法
  • 异常处理:捕获KeyError处理结构不匹配的情况,捕获JSONDecodeError处理文件损坏或格式错误的情况

内容的提问来源于stack exchange,提问作者Saeed

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 23:35:01