You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python解析嵌套JSON时出现TypeError错误的问题排查求助

解决JSON解析中的TypeError: string indices must be integers问题

你这里的问题出在对pickup_from的处理逻辑上——看你的JSON结构,pickup_from是一个单个字典对象,而不是列表。当你用for store in sale['pickup_from']去遍历它时,Python默认会遍历字典的键名(也就是"location_id"、"city"、"state"这些字符串),所以循环里的store其实是一个个字符串,这时候你尝试用store['location_id']去取值,就会触发TypeError,因为字符串只能用整数索引,不能用字符串索引。

修正后的代码很简单,直接跳过不必要的循环,直接访问pickup_from字典里的对应键值就可以了:

for sale in file_json['sales']:
    print(sale['sale_id'])
    print(sale['sale_date'])
    # 直接从pickup_from字典中取值,无需遍历
    print(sale['pickup_from']['location_id'])
    print(sale['pickup_from']['city'])

如果未来你的业务场景中,pickup_from可能变成包含多个字典的列表(比如一个订单对应多个取货点),那时候才需要用循环遍历,但根据你当前提供的JSON结构,它是单个字典,直接访问就完全满足需求了。

内容的提问来源于stack exchange,提问作者Mariusz Szymoniak

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.29 00:32:36