错误出现在:raise JSONDecodeError(“Expecting value“, s, err.value) from Nonejson.decoder.JSONDecodeError
Django中错误出现在: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)
更多推荐
已为社区贡献4条内容
所有评论(0)