为何出现TypeError: string indices must be integers错误?如何获取error字段
问题原因
你出错的核心原因是:response["body"]存储的是JSON格式的字符串,而非Python字典。字符串只能通过整数索引访问字符位置,你用字典的键名["error"]去访问,自然会触发TypeError。
解决方法
需要先把JSON字符串解析为Python字典,再访问error字段,步骤如下:
- 导入Python内置的
json模块 - 调用
json.loads()方法解析response["body"] - 从解析后的字典中获取
error值
示例代码:
import json response = {'body': '{"error": "Validation error"}', 'statusCode': 400} # 先解析JSON字符串为字典 body_dict = json.loads(response["body"]) # 再访问error字段 print(body_dict["error"])
注意事项
你的原始response["body"]字符串存在语法错误:末尾缺少一个闭合的双引号("Validation error"后面应该加"),如果不修正,json.loads()会抛出JSONDecodeError,记得先补全这个引号。
内容的提问来源于stack exchange,提问作者Nidhi
相关产品推荐
相关产品推荐

