Python获取JSON响应子节点:如何访问Offers与Orders的BestPrice
解决Python访问JSON子节点的TypeError问题
错误原因
你遇到的报错核心是:price["AggregatedTitles"]是列表类型(JSON里用方括号[]包裹的内容对应Python的列表),列表只能用整数索引或切片访问,不能直接用字符串键名(比如'Offers')。
简单解决方法
你的AggregatedTitles列表里只有一个元素,直接用索引[0]取出列表中的字典,再逐层访问子节点即可:
# 访问Offers的BestPrice offers_best_price = price["AggregatedTitles"][0]["Offers"]["BestPrice"] # 访问Orders的BestPrice orders_best_price = price["AggregatedTitles"][0]["Orders"]["BestPrice"] print(offers_best_price) # 输出: 1.5 print(orders_best_price) # 输出: 0.8
扩展:处理列表多元素的情况
如果后续API返回的AggregatedTitles包含多个商品数据,可以用循环遍历所有元素:
for title in price["AggregatedTitles"]: print(f"商品名: {title['MarketHashName']}") print(f"Offers最佳价格: {title['Offers']['BestPrice']}") print(f"Orders最佳价格: {title['Orders']['BestPrice']}")
内容的提问来源于stack exchange,提问作者Christopher Schmidt
相关产品推荐
相关产品推荐

