Python导入JSON后无法访问嵌套对象,报'int' object is not subscriptable
解决JSON访问报错:'int' object is not subscriptable
问题根源
报错明确说明你当前的json_map['epapconfig']是整数类型,而非JSON里定义的字典。这意味着你的代码在某个地方意外修改了json_map['epapconfig']的值,把它从字典改成了整数。
排查与修复步骤
先确认变量类型
在尝试访问Display节点前,先打印json_map['epapconfig']的类型和值,验证问题:print(type(json_map['epapconfig'])) print(json_map['epapconfig'])如果输出是
<class 'int'>加一个整数,就坐实了变量被篡改的问题。查找并删除错误赋值
全局搜索代码中所有对json_map['epapconfig']的赋值语句,比如有没有类似json_map['epapconfig'] = 1这种错误代码,删掉即可。重新加载原始JSON
如果找不到修改点,直接重新从文件加载JSON数据,恢复原始结构:import json with open('你的配置文件.json', 'r', encoding='utf-8') as f: json_map = json.load(f)正确获取目标值
确认json_map['epapconfig']是字典后,直接用以下代码拿到Display下的suffix:target_suffix = json_map['epapconfig']['Display']['suffix'] print(target_suffix) # 输出: Press return to continue...
内容的提问来源于stack exchange,提问作者Palash Agrawal
相关产品推荐
相关产品推荐

