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

解析JIRA JSON遇TypeError,如何判断assignee字段是否为空?

解决JIRA JSON解析中的TypeError问题

嘿,我来帮你搞定这个报错!你遇到的TypeError: list indices must be integers or slices, not str,核心原因是没有通过循环变量each去访问对应的issue字段——你直接写['fields']['assignee'],相当于在操作一个由字符串组成的列表,Python自然会报错说“列表索引得是整数”啦。另外你判断字段存在的逻辑也不对,JIRA返回的每个issue肯定都有fields字段,只是assignee可能为null(对应Python里的None)。

修正后的代码

with open('C:\\TEMP\\testdata.json') as json_file:
    data = json.load(json_file)
    for each in data['issues']:
        # 获取当前issue的assignee对象,必须通过each访问嵌套字段
        assignee = each['fields']['assignee']
        if assignee is None:
            print('null')
        else:
            # 用get方法做容错,避免assignee存在但无name字段的意外报错
            print(assignee.get('name', 'null'))

关键说明

  • 访问嵌套字段必须依托循环变量:each['fields']['assignee']才是当前循环中对应issue的处理人数据,直接写['fields']['assignee']是无效的语法。
  • Python里JSON的null对应None,判断空值要用assignee is None,而不是判断字段是否存在。
  • 用assignee.get('name', 'null')替代直接取assignee['name'],能在极端情况(比如assignee存在但缺失name字段)下返回默认值,避免新的报错。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.06 22:19:03