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

Python无法从API返回的JSON响应中提取character_id值问题求助

问题根因
  • 冗余的序列化操作:response.json() 本身就会返回解析完成的Python字典,先执行json.dumps()转字符串再用json.loads()转回字典属于无意义操作,可以直接删除该步骤。
  • 字典路径匹配错误:从输出的字典结构可以看到,character_id 不在顶层字典的键中,而是嵌套在character_list对应的列表的第一个元素内。
修正后的可运行代码
characterName = sys.argv[1]
response = dataRequest('http://census.daybreakgames.com/s:888/get/ps2:v2/character/?name.first_lower=' + characterName + '&c:show=character_id')
dic = response.json()
# 分层取值,先判断列表非空再取内部字段
if 'character_list' in dic and len(dic['character_list']) > 0:
    character_item = dic['character_list'][0]
    if 'character_id' in character_item:
        print(character_item['character_id'])
取值逻辑说明
  1. 顶层字典的character_list键对应的值是一个列表,存储所有匹配到的角色信息
  2. 列表的第一个元素(索引为0)就是匹配到的角色数据字典,character_id就是该字典下的键
  3. 新增的非空判断可以避免接口返回空列表、无匹配字段时的运行报错

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 18:54:02