调用json.dumps()后访问['data']触发TypeError: string indices must be integers
问题解决:TypeError: string indices must be integers
错误原因
json.dumps() 函数的作用是将Python字典转换为JSON格式的字符串,而非保留字典结构。你尝试直接对这个字符串使用['data']索引,而字符串仅支持整数类型的索引(用于定位字符位置),因此触发了TypeError。
解决方案
场景1:仅需访问原字典中的数据
如果只是要获取原字典里的data列表,完全不需要转换为JSON,直接操作原字典即可:
data = {'data': [0,0,4,279,14,46,10,5, 0,0,1,257,13,44,10,5, 1,1,254,0]} # 直接访问字典的key target_data = data['data'] print(target_data)
场景2:必须经过JSON转换后再访问
如果业务逻辑要求先转为JSON字符串,再从中提取数据,需要先用json.loads()将JSON字符串转回Python字典,再进行索引操作:
import json data = {'data': [0,0,4,279,14,46,10,5, 0,0,1,257,13,44,10,5, 1,1,254,0]} # 转为JSON字符串 json_string = json.dumps(data) # 将JSON字符串转回Python字典 parsed_data = json.loads(json_string) # 访问目标key target_data = parsed_data['data'] print(target_data)
内容的提问来源于stack exchange,提问作者PeakyBlinder
相关产品推荐
相关产品推荐

