错误出现在:raise JSONDecodeError(“Expecting value“, s, err.value) from Nonejson.decoder.JSONDecodeError

问题分析:

        我在 A.py 中引用了在 B.py 中定义的列表(该列表名为companyPeople),也导入了B.py文件,通过 json.loads() 解析包含 companyPeople 列表的JSON 字符串,显示 raise JSONDecodeError 的同时,也显示 companyPeople 不存在


解决步骤:

  • 在解析 companyPeople 时添加了 try-except 块来捕获 json.JSONDecodeError 异常,以防止非JSON格式字符串导致的错误。
  • 在列表推导式中添加了空值检查,确保 companyPeople 不为空,避免调用空值

修改前:

for i in jobs:
        peoples.append(json.loads(i.companyPeople)[1])
    peopleColumn = [0 for i in range(len(companyPeople))]

修改后:

 for i in jobs:
     if i.companyPeople:  # 检查 companyPeople 是否存在
          try:
             data = json.loads(i.companyPeople)
              if len(data) > 1:  # 确保 JSON 数据中有足够的元素,避免调用空值
                 peoples.append(data[1])
          except json.JSONDecodeError as e:
              print(f"Error decoding JSON for job {i.id}: {e}")
 peopleColumn = [0] * len(companyPeople)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值