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 = {} # 存储每种题型的总分