diff --git a/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/learningresources/vo/StringArrayDeserializer.java b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/learningresources/vo/StringArrayDeserializer.java new file mode 100644 index 000000000..df135dfab --- /dev/null +++ b/yudao-module-llm/yudao-module-llm-biz/src/main/java/cn/iocoder/yudao/module/llm/controller/admin/learningresources/vo/StringArrayDeserializer.java @@ -0,0 +1,26 @@ +package cn.iocoder.yudao.module.llm.controller.admin.learningresources.vo; + +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.core.JsonToken; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.JsonDeserializer; + +import java.io.IOException; + +public class StringArrayDeserializer extends JsonDeserializer { + @Override + public String deserialize(JsonParser p, DeserializationContext ctxt) throws IOException { + // 如果是数组 + if (p.currentToken() == JsonToken.START_ARRAY) { + // 移动到数组的下一个元素 + JsonToken nextToken = p.nextToken(); + // 判断是否为空数组 + if (nextToken == JsonToken.END_ARRAY) { + return ""; + } + return p.getText(); + } + // 如果是字符串,直接返回 + return p.getText(); + } +}