From 4e817f6eefde57ee4cd2351854c8422488b3d977 Mon Sep 17 00:00:00 2001 From: yuliang_guo Date: Sat, 31 Jan 2026 11:28:00 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8Dexam=5Fservice?= =?UTF-8?q?=E8=A7=A3=E6=9E=90questions=20JSON=E6=A0=BC=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit questions可能是{"questions":[...]}或直接是列表,需要兼容处理 --- backend/app/services/exam_service.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/backend/app/services/exam_service.py b/backend/app/services/exam_service.py index 53a783e..f64d0f9 100644 --- a/backend/app/services/exam_service.py +++ b/backend/app/services/exam_service.py @@ -328,7 +328,9 @@ class ExamService: if exam.questions: try: # 解析questions JSON,统计每种题型的总数 - questions_data = json.loads(exam.questions) if isinstance(exam.questions, str) else exam.questions + questions_raw = json.loads(exam.questions) if isinstance(exam.questions, str) else exam.questions + # questions可能是 {"questions": [...]} 或直接是列表 + questions_data = questions_raw.get("questions", questions_raw) if isinstance(questions_raw, dict) else questions_raw type_totals = {} type_scores = {} # 存储每种题型的总分