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

Python读取JSON分类数组后按ID访问数据的一致性问题问询

解决按ID访问分类名称的问题

嘿,我明白你遇到的问题了——你读取的JSON里categories是一个数组列表,直接用id字符串当键去访问肯定行不通,因为列表只能按索引(比如0、1)取值。咱们得先把这个数组转换成以id为键的字典,这样就能像你想要的那样用category_dict['1']['name']来获取名称啦!

具体实现步骤

  1. 正常读取JSON文件获取原始数据
  2. 将categories数组转换为以id为键的字典(这里把id转成字符串,匹配你想要的['1']访问方式;如果想用数字id当键,去掉str()即可)
import json

# 读取JSON文件
with open('file.json') as json_data:
    json_info = json.load(json_data)

# 把categories数组转换为以id字符串为键的字典
category_dict = {str(item['id']): item for item in json_info['categories']}

# 现在就能按你想要的方式访问啦
print(category_dict['1']['name'])  # 输出: Bottle
print(category_dict['2']['name'])  # 输出: Car

为什么原来的代码不行?

原始的JSON结构里,json_info['categories']是一个列表,列表的访问方式是通过索引位置(比如json_info['categories'][0]对应id为1的Bottle),而不是通过id值。所以我们需要做一步转换,把列表里的每个元素用它的id作为键存到字典里,这样就能直接通过id快速查找对应的分类信息了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 07:45:51