您的位置:首页 >如何访问嵌套 JSON 深层字段
发布于2026-04-13 阅读(0)
扫一扫,手机访问

本文详解 Python 中读取 JSON 文件后访问多层嵌套键(如 json_map['epapconfig']['Display']['suffix'])时出现 'int' object is not subscriptable 错误的成因与解决方案,涵盖加载、验证、安全访问全流程。
本文详解 Python 中读取 JSON 文件后访问多层嵌套键(如 `json_map['epapconfig']['Display']['suffix']`)时出现 `'int' object is not subscriptable` 错误的成因与解决方案,涵盖加载、验证、安全访问全流程。
在 Python 中解析 JSON 数据后无法访问嵌套字段(例如 json_map['epapconfig']['Display']['suffix']),并报错 TypeError: 'int' object is not subscriptable,根本原因通常不是 JSON 结构本身有问题,而是变量被意外覆写为整数类型——最常见的情况是:你曾用 json_map = 0、json_map = 1 或类似语句重定义了该变量,导致后续尝试用方括号索引时实际操作的是一个整数。
以下是一个完整、健壮的访问示例:
import json
# ✅ 正确方式:从字符串或文件加载 JSON
json_str = '''{
"epapconfig": {
"suffix": "Enter Choice: ",
"Display": {
"suffix": "Press return to continue..."
},
"Security": {
"suffix": "Enter Choice: ",
"Timeout": {
"suffix": "Enter Choice: ",
"Display": {
"suffix": "Press return to continue..."
}
}
}
},
"epapdev": {"suffix": "]$ "},
"su": {"suffix": "Password: "},
"root": {"suffix": "]# "}
}'''
# 加载为字典
json_map = json.loads(json_str)
# 安全访问嵌套字段(推荐)
try:
suffix = json_map['epapconfig']['Display']['suffix']
print("Display suffix:", suffix) # 输出:Press return to continue...
except KeyError as e:
print(f"缺失必要键: {e}")
except TypeError as e:
print(f"类型错误 —— 可能 json_map 不是字典: {e}")⚠️ 关键注意事项:
suffix = (json_map
.get('epapconfig', {})
.get('Display', {})
.get('suffix', 'DEFAULT_SUFFIX'))✅ 总结:该错误几乎总是源于变量类型被意外篡改(如赋值为 int),而非 JSON 格式问题。务必确保 json_map 始终为 dict 类型,并通过 isinstance(json_map, dict) 进行校验,再进行嵌套访问。
上一篇:微信文件过期恢复方法分享
下一篇:触漫隐藏点赞记录方法详解
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
1
2
3
7
9