如何移除字典外层包裹的双引号,实现字典正常索引取值
嵌套字符串字典解析方案
问题根因
当前数据结构中,外层字典p['0'][0]位置存储的是字符串格式的字典,而非直接的字典结构,因此无法直接索引访问内部字段。此前遍历外层字典键执行解析的逻辑错误,没有定位到需要转换的字符串层级。
处理代码
分两种场景处理:
场景1:外层p已经是字典类型
仅需解析内层嵌套的字符串字典:
import ast p['0'][0] = ast.literal_eval(p['0'][0])
场景2:外层p本身是字符串格式
先解析外层字典,再处理内层嵌套:
import ast # 解析外层字典 p = ast.literal_eval(p) # 解析内层字符串格式的字典 p['0'][0] = ast.literal_eval(p['0'][0])
可选:支持数字索引p[0]访问
如果需要实现p[0]的访问效果,可额外将第一层的字符串键转换为整数键:
p = {int(k): v for k, v in p.items()}
验证访问
处理完成后即可正常索引内部字段:
# 访问地址信息 address_info = p['0'][0] # 示例:获取格式化地址 print(address_info['formatted_address']) # 示例:获取经纬度坐标 print(address_info['geometry']['location']) # 转换键后可通过数字索引访问 print(p[0][0]['place_id'])
内容的提问来源于stack exchange,提问作者Stackcans
相关产品推荐
相关产品推荐

