"""JSON 脚本导入评测用例。""" from __future__ import annotations import json from typing import Any def parse_script_json(raw: str | bytes) -> tuple[list[str], dict[str, Any]]: data = json.loads(raw if isinstance(raw, str) else raw.decode("utf-8")) if isinstance(data, list): utterances = [str(x).strip() for x in data if str(x).strip()] return utterances, {} if isinstance(data, dict): u = data.get("utterances") or data.get("user_utterances") or [] if not isinstance(u, list): raise ValueError("utterances 必须是数组") utterances = [str(x).strip() for x in u if str(x).strip()] meta = { k: v for k, v in data.items() if k not in ("utterances", "user_utterances") } return utterances, meta raise ValueError("根须为数组或对象")