diff --git a/src/main/java/com/guo/learningprogresstracker/service/impl/StandardMindMapServiceImpl.java b/src/main/java/com/guo/learningprogresstracker/service/impl/StandardMindMapServiceImpl.java index 5877af4..aac66f0 100644 --- a/src/main/java/com/guo/learningprogresstracker/service/impl/StandardMindMapServiceImpl.java +++ b/src/main/java/com/guo/learningprogresstracker/service/impl/StandardMindMapServiceImpl.java @@ -270,14 +270,21 @@ public class StandardMindMapServiceImpl implements StandardMindMapService { } } - // 4. 读取 extraNodes + // 4. 读取 extraNodes(兼容字符串数组和对象数组两种格式) List extras = new ArrayList<>(); JsonNode extrasArr = aiJson.path("extraNodes"); if (extrasArr.isArray()) { for (JsonNode e : extrasArr) { CompareResult.FlatNode fn = new CompareResult.FlatNode(); - fn.setTitle(e.path("title").asText("")); - fn.setPath(e.path("path").asText("")); + if (e.isTextual()) { + // 字符串格式 ["知识点D1", "知识点D2"] + fn.setTitle(e.asText("")); + fn.setPath(""); + } else { + // 对象格式 [{ title: "...", path: "..." }] + fn.setTitle(e.path("title").asText("")); + fn.setPath(e.path("path").asText("")); + } extras.add(fn); } }